我有一本字典,我想让它变成静态的。假设我有一个有一些数据的字典。如果我同时通过两个进程访问这个字典,那么我的数据不匹配。我该如何解决这个问题。
例如在字典中,我有密钥A值1 2 3 4 5 关键B值6 7 8 9 10
当我通过两个进程访问这个字典时,一个读取A的数据,另一个读取B的数据。然后我有结果集,其中B包含A值。
答案 0 :(得分:0)
如果您的程序是用Java编写的,则需要同步任何检索和设置值的方法。
例如:
public synchronized int getValue() {
return value;
}
'synchronized'关键字确保两个进程不会同时读取或设置数据。
这是通过JVM获取对象的锁定来实现的,只允许一个线程一次访问它。然后执行代码,一旦完成锁定就被释放。如果另一个线程正在等待,则该线程可以获取对象的锁定。
答案 1 :(得分:0)
如果您的程序是用.NET编写的,那么您可以查看有关the best way of implementing a thread-safe Dictionary的相关问题,链接和C#示例代码......