Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HashMap,Android中的SparseArray:多线程是个问题?_Android_Multithreading_Hashmap_Concurrenthashmap_Sparse Array - Fatal编程技术网

HashMap,Android中的SparseArray:多线程是个问题?

HashMap,Android中的SparseArray:多线程是个问题?,android,multithreading,hashmap,concurrenthashmap,sparse-array,Android,Multithreading,Hashmap,Concurrenthashmap,Sparse Array,我知道HashMap和SparseArray都不是线程安全的。如果我有一个作为HashMap的中央数据存储库,可以由活动访问,也可以由异步任务访问,那么我是否需要担心这个问题 为了安全起见,建议使用哈希表或更好的ConcurrentHashMap吗?是的,您必须担心线程安全。在HashMap或SparseArray周围执行IO时,可以使用哈希表、ConcurrentHashMap或同步块。同步块的行为有点不同,可能会较慢,但对于简单的应用程序,这可能不是问题

我知道HashMap和SparseArray都不是线程安全的。如果我有一个作为HashMap的中央数据存储库,可以由活动访问,也可以由异步任务访问,那么我是否需要担心这个问题


为了安全起见,建议使用哈希表或更好的ConcurrentHashMap吗?

是的,您必须担心线程安全。在HashMap或SparseArray周围执行IO时,可以使用哈希表、ConcurrentHashMap或同步块。同步块的行为有点不同,可能会较慢,但对于简单的应用程序,这可能不是问题