现在我在一个类中有很多 INSERT/UPDATE/DELETE/SELECT 方法。它们都共享一个 Connection、一个 DataReader 和一个 Command。但是在从数据库下载数据或上传数据时,它们会冻结 UI。在本地网络上没问题,但由于它使用外部服务器作为数据库,它有时会冻结。所以我想在另一个线程上创建所有 MySQL 类。
我需要类似 DoThisInAnotherThread(mysql.UpdateTable) 的东西。但是必须有某种队列,因为所有方法都使用相同的 Connection 和相同的 DataReader。并且让每一种方法来建立自己的连接看起来都不是最好的解决方案。
我正在寻找最好和最简单的解决方案。任务队列之类的东西,将由另一个线程检查并执行,但它不会为空。
我试过BackgroundWorker,但没有队列。我听说了一些关于启动自己的线程的事情,但我没有看到方法,如何让它运行并等待任务。
谢谢你。