假设我有以下类:
public class Foo { private List<Integer> list = Lists.newArrayList(1,2,3,4,5); private Iterator<Integer> iterator = Iterators.cycle(list); public void bar(){ Integer value = iterator.next(); doSomethingWithAnInteger(value); } }
如果Foo的一个实例被两个线程同时访问,我需要每个线程从iterator.next()获取一个不同的值. bar()方法是否必须同步?还是iterator.next()保证线程安全?
在这个例子中,我使用一个ArrayList作为底层的Iterable.循环迭代器的线程安全性是否取决于具体的可迭代实现?
谢谢.
解决方法
原文地址:https://www.jb51.cc/java/127014.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。