मान लीजिए मैं निम्नलिखित वर्ग है:अमरूद-पुस्तकालय: Iterators.cycle() थ्रेड-सुरक्षित है?
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);
}
}
फू का एक उदाहरण दो धागे से एक साथ acessed है, तो मुझे लगता है कि प्रत्येक थ्रेड iterator.next()
से एक अलग मूल्य हो जाता है की जरूरत है। क्या bar()
विधि को सिंक्रनाइज़ किया जाना है? या iterator.next()
धागा-सुरक्षित होने की गारंटी है?
इस उदाहरण में, मैं अंतर्निहित Iterable के रूप में एक ArrayList का उपयोग कर रहा हूँ। चक्रीय पुनरावर्तक की थ्रेड-सुरक्षा विशिष्ट पुनरावर्तनीय कार्यान्वयन पर निर्भर करती है?
धन्यवाद।