我一直在研究Java中多个线程访问或共享数据的时间。并研究如下问题:
由此,解决这些问题的解决方案。
到目前为止,我似乎发现修复这些问题的方法是使用同步方法。 还有其他替代方法可以使用同步方法吗? 我从sun Java教程中找到了大部分这些信息。 有关进一步阅读的任何建议吗?
答案 0 :(得分:3)
尽可能保持数据只读(不可变)或复制它们以使其成为线程本地作为一般建议。
在Java中,有几个特殊的非阻塞实现计数器(AtomicInteger
,AtomicLong
等)和集合(java.util.concurrent.*
),如果您需要避免同步数据
我可以推荐“Effective Java”(Joshua Bloch)或“Java并发实践”一书。