MrG*_*MrG 11 java multithreading synchronization
我们有两个线程通过synchronized方法访问一个列表.我们可以吗
a)依靠运行时间来确保每个人都可以根据他们尝试的顺序或方式接收方法
b)VM是否遵循任何其他规则
c)是否有更好的方法来序列化请求?
Har*_*ded 20
不,synchronized将以任何顺序提供访问权限(取决于JVM实现).这甚至可能导致线程在某些情况下挨饿.
您可以使用ReentrantLock(自Java 5.0起)fair=true选项来确保订单.(Lock lock = new ReentrantLock(true);)
| 归档时间: |
|
| 查看次数: |
9275 次 |
| 最近记录: |