C# Mysql 线程

标签 c# mysql

目前,我有一个全局static MySqlConnection连接;,它是跨线程共享的(我知道这很糟糕),但我在打开新连接或关闭旧连接时会锁定,并且只有当线程是第一个已创建的或最后一个留下的(我还通过 static int MySqlConnected 确定这一点)。

目前由于某种原因它变得困惑,我的设置有什么问题?

最佳答案

你为什么要这么做?

.NET 运行时在保留连接池并根据需要以安全且无麻烦的方式透明地重新使用它们方面已经相当高效。在我看来,您似乎正在尝试完成框架已经提供的东西。当您需要执行查询时,只需打开一个新连接并使用它即可。运行时将为您处理剩下的所有事情。

此外,使用线程和静态变量很容易带来麻烦,导致代码经常以微妙的、不明显的方式失败。您似乎正在实现某种很容易出错的本土锁定机制。因此,除非您对多线程场景非常有经验,否则我会远离这种事情。

关于C# Mysql 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16835175/

相关文章:

mysql - 到达该列的日期后,从表格中删除该列

PHP 在 session 表中生成 "Ghost" session

c# - 通过特定搜索从多个表中获取记录

C# 重载运算符 == 和 !=

c# - 如何在n层应用中管理内存中的主数据以避免损坏数据库

c# - 如何确定 ParameterInfo 是否为返回参数

php - 如何检查 PHP 字符串作为查询参数是否有效

php - 如何仅使用 php 和 html 更改日期格式并将其插入数据库

c# - 一段时间后电子邮件中的附件开始丢失

C# 如何在文本文件中写入多行?