我有一本字典,我想让它变成静态字典。假设我有一个有一些数据的字典。如果我通过两个进程同时访问这个字典,那么我的数据不匹配。我怎么解决这个问题。如何制作线程安全字典
例如在字典我有键A-值1 2 3 4 5 键B-值6 7 8 9 10
当我被两个过程的一个访问该字典A等读取数据读取B的数据。然后我得到结果集,其中B包含A值。
我有一本字典,我想让它变成静态字典。假设我有一个有一些数据的字典。如果我通过两个进程同时访问这个字典,那么我的数据不匹配。我怎么解决这个问题。如何制作线程安全字典
例如在字典我有键A-值1 2 3 4 5 键B-值6 7 8 9 10
当我被两个过程的一个访问该字典A等读取数据读取B的数据。然后我得到结果集,其中B包含A值。
如果你的程序是写在.NET中,你可以看看关于the best way of implementing a thread-safe Dictionary此相关的问题,与链接和C#示例代码...比
如果您的程序是用Java编写的,则需要同步任何检索和设置值的方法。
例如:
public synchronized int getValue() {
return value;
}
在“同步”关键字确保两个进程不读取或设置数据同时进行。
这是通过JVM获取对象上的锁来实现的,一次只允许一个线程访问它。然后代码被执行,一旦完成,锁定被释放。如果另一个线程正在等待,则此线程可以获取对象的锁定。
而启动的“如果你的程序是用络绎不绝。 ..“的答案,你为什么不告诉我们你正在编写哪种编程语言? – thkala 2011-04-08 21:16:35
...并且记住在将来的问题中也要说! – 2011-04-08 21:34:15