我有一本字典,我想讓它變成靜態字典。假設我有一個有一些數據的字典。如果我通過兩個進程同時訪問這個字典,那麼我的數據不匹配。我怎麼解決這個問題。如何製作線程安全字典
例如在字典我有鍵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