SQL Server CE数据库线程安全



我正在创建一个vb.net智能设备应用程序,该应用程序利用SQL Server CE 3.5数据库和绑定到输入控件的内存数据集作为中介。

我想通过将数据库更新例程放在一个单独的线程上来最大限度地提高UI的性能,但我担心应用程序可能会在另一个线程完成之前尝试进行更新。这是真的可能吗?还是SQL Server CE能够对更新进行排队?

Microsoft在SqlCeDataAdapter类的文档中指出,"这种类型的任何公共静态(在Visual Basic中共享)成员都是线程安全的。任何实例成员都不能保证是线程安全。"但我在多线程方面没有足够的经验来正确解释这一点。

SQL Server CE对象都不是线程安全的,因此只使用一个线程进行后台更新。此外,请考虑在受约束的设备上使用TableDirect API以获得最佳的INSERT和UPDATE性能。

最新更新