Moc*_*cha 6 java multithreading
Integer getElement( List<Integer> list ) {
int i = Random.getInt( list.size() );
return list.get( i );
}
Run Code Online (Sandbox Code Playgroud)
问题:虽然这个函数是从一个线程调用的,但有一种方法传递给这个函数的列表可以被另一个线程修改吗?
号java.util.List
不保证线程安全.该列表之间可以改变list.size()
,并list.get()
通过另一个线程.此外,内存不一致也是一个问题.
我可以想到三种解决方法:
归档时间: |
|
查看次数: |
266 次 |
最近记录: |