У меня есть связанный список samples
:
protected LinkedList<RawDataset> samples = new LinkedList<RawDataset>();
Я добавляю элементы в список в потоке 1 следующим образом:
this.samples.offer(data);
И я извлекаю из него элементы во втором потоке, например:
public RawDataset retrieveSample() {
return this.samples.poll();
}
Будет ли это считаться потокобезопасным? Несмотря на то, что потоки 1 и 2 модифицируют список, они делают это только в начале или в конце списка, верно?
Если нет, то кто-нибудь может указать мне на класс в Java API, который поставляется с poll
/ offer
и обязательно будет поточно-ориентированным?
Заранее спасибо.
Кстати: Collections.synchronizedList(new LinkedList())
не даст мне доступа к offer
/ poll
.