Kir*_*ran 4 java collections multithreading android synchronized
我有两个线程在运行(一个是主线程(Say Thread1),另一个是后台线程(比如说Thread2)).我可以从和访问HashMap变量.修改和Thread2读取HashMap.hashMapThread1Thread2Thread1hashMap
在Thread1代码中将是:
synchronized(hashMap){
//updating hashMap
}
Run Code Online (Sandbox Code Playgroud)
在Thread2代码中将是:
synchronized(hashMap){
//reading hashMap
}
Run Code Online (Sandbox Code Playgroud)
我可以hashMap通过synchronized block这种方式同步访问权限吗?
是.但您也可以使用Collections.synchronizedMap实用程序方法使hashmap线程安全:
Map yourMap = new HashMap();
Map synchronizedMap = java.util.Collections.synchronizedMap(yourMap);
Run Code Online (Sandbox Code Playgroud)
或者您可以使用默认情况下线程安全的ConcurrentHashMap或Hashtable.
| 归档时间: |
|
| 查看次数: |
3076 次 |
| 最近记录: |