Каково использование метода collections.synchronizedlist ()? Кажется, это не синхронизирует списокJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Каково использование метода collections.synchronizedlist ()? Кажется, это не синхронизирует список

Сообщение Anonymous »

Я пытаюсь добавить значения String в ArrayList, используя два потока. Я хочу, чтобы, пока один поток добавляет значения, другой поток не должен вмешиваться, поэтому я использовал метод Collections.synchronizedList. Но похоже, что если я не синхронизирую объект явно, добавление выполняется несинхронизированным способом.

Без явного синхронизированного блока:

Код: Выделить всё

public class SynTest {
public static void main(String []args){
final List list=new ArrayList();
final List synList=Collections.synchronizedList(list);
final Object o=new Object();
Thread tOne=new Thread(new Runnable(){

@Override
public void run() {
//synchronized(o){
for(int i=0;i

Подробнее здесь: [url]https://stackoverflow.com/questions/40930861/what-is-the-use-of-collections-synchronizedlist-method-it-doesnt-seem-to-syn[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»