C# Mysql threads

本文关键字:threads Mysql | 更新日期: 2023-09-27 18:16:17

目前我有一个全局的static MySqlConnection connection;,这是跨线程共享(坏,我知道),但我锁,而打开新的连接或关闭旧的,只有这样做,如果线程是第一个已创建或最后一个离开(我也通过静态int MySqlConnected确定这一点)。

目前由于某些原因混淆了,我的设置有什么问题?

C# Mysql threads

你为什么要这么做?

. net运行时在保持连接池并在需要时透明地以安全和无麻烦的方式重用它们方面已经相当有效了。在我看来,您正在尝试完成框架已经提供的某些功能。当您需要执行查询时,只需打开一个新连接并使用它。运行时将为您处理其余的一切。

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