2014-09-27 118 views
-1

线程安全我看了一下同步线程,锁报表和竞争条件(用C#)的文章。不幸的是,它的一些拒绝被我的大脑完全理解。与共享集合

我有一个情况我有一个包含设计,读,写,创建和删除数据库记录不同类别的Lists<>共享对象。这个对象是在不同的线程在它的生命周期(应用程序的生命周期)之间共享的 - 我的问题是我无法弄清楚我应该如何保护/锁定这个对象,以便它可以在不破坏数据的情况下安全地操作。

我已经看到很少出现问题 - 有时候空白的数据库行将被保存 - 我认为这是与另一个线程在类Save()方法中改变'INSERT'和'UPDATE'数据库查询之间的对象。

我的感觉是一个合适的lock是解决方案,但我不能在哪里工作,这应该是。

在的地方我已经错任何帮助或洞察力大规模感谢!

+2

你忘了,包括你的代码?没有它,我们就找不出什么问题。 – 2014-09-27 03:04:29

回答

2

你看了关于在.NET 4.0框架提供的新System.Collections.Concurrent命名空间。此命名空间提供了多种花纹安全集合类...

这里是链接到MSDN页面