JAVA集合の同時

1361 ワード

l従来の集合クラスの同時アクセス時の問題説明、添付ファイルを参照
l従来の方法では、Collectionsツールクラスが提供するsynchronizedCollection法を用いて同期セットを取得し、この方法の実装ソースコードを分析する.
l従来方式のCollectionでは,集合を反復する際に集合を修正することは許されない.
Ø空中ネット面接の同期レベルスレッド問題でプレゼンテーションを行う
ØAbstractListのcheckForComodificationメソッドのソースコードに基づき、ConcurrentModificationException異常の原因を分析する.
lJava 5には、次の同期セットクラスがあります.
Øjavaを見ることによって.util.concurrentパッケージの説明では、どのような同時集合があるかを知ることができます.
ØConcurrentHashMap
ØCopyOnWriteArrayList
ØCopyOnWriteArraySe
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;
public class CollectionModifyExceptionTest {
	public static void main(String[] args) {
		Collection users = new CopyOnWriteArrayList();
			
			//new ArrayList();
		users.add(new User(" ",28));	
		users.add(new User(" ",25));			
		users.add(new User(" ",31));	
		Iterator itrUsers = users.iterator();
		while(itrUsers.hasNext()){
			System.out.println("aaaa");
			User user = (User)itrUsers.next();
			if(" ".equals(user.getName())){
				users.remove(user);
				//itrUsers.remove();
			} else {
				System.out.println(user);				
			}
		}
		
		
		String a = new String("a");
		String b = new String("a");
		System.out.println(a == b);
	}
}	 

t