Collections.synchronizedList() 方法有什么用?它似乎没有同步列表

What is the use of Collections.synchronizedList() method? It doesn#39;t seem to synchronize the list(Collections.synchronizedList() 方法有什么用?它似乎没有同步列表)

本文介绍了Collections.synchronizedList() 方法有什么用?它似乎没有同步列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I am trying to add String values to an ArrayList using two threads. What I want is that while one thread is adding the values the other thread should not interfere so I have used the Collections.synchronizedList method. But it appears that if I don't explicitly synchronize on an object the adding is done in an unsynchronized way.

Without explicit synchronized block:

public class SynTest {
    public static void main(String []args){
        final List<String> list=new ArrayList<String>();
        final List<String> 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<100;i++){
                    System.out.println(synList.add("add one"+i)+ " one");
                }
                /

本文标题为:Collections.synchronizedList() 方法有什么用?它似乎没有同步列表

基础教程推荐