Collections,Synchronized

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

//public static Collection synchronizedCollention(Collection c)
//
//public static List synchronizedList(list l)
//
//public static Map synchronizedMap(Map m)
//
//public static Set synchronizedSet(Set s)
//
//public static SortedMap synchronizedSortedMap(SortedMap sm)
//
//public static SortedSet synchronizedSortedSet(SortedSet ss)

public class CollectionsSynchronizedTest {

	public static void main(String[] args) {
		//为了安全起见,仅使用同步列表的一个引用,这样可以确保控制了所有访问
        //集合必须同步化,这里是一个List
        List wordList = Collections.synchronizedList(new ArrayList());

        //wordList中的add方法是同步方法,会获取wordList实例的对象锁
        wordList.add("Iterators");
        wordList.add("require");
        wordList.add("special");
        wordList.add("handling");

        //获取wordList实例的对象锁,
        //迭代时,阻塞其他线程调用add或remove等方法修改元素
        synchronized ( wordList ) {
            Iterator iter = wordList.iterator();
            while ( iter.hasNext() ) {
                String s = (String) iter.next();
                System.out.println("found string: " + s + ", length=" + s.length());
            }
        }
    }
}

捐助开发者 

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。

 

个人主页http://knight-black-bob.iteye.com/



 
 
 谢谢您的赞助,我会做的更好!

猜你喜欢

转载自knight-black-bob.iteye.com/blog/2409072