concurrenttester.java

来自「这是孙卫琴在"Java与面向对象编程"一书的源代码。」· Java 代码 · 共 39 行

JAVA
39
字号
import java.util.*;
public class ConcurrentTester{
  public static void main(String args[]){
     final int size=1000;
     final Set<Integer> set=new HashSet<Integer>();
     for(int i=0;i<size;i++)
       set.add(new Integer(i));

     Thread reader=new Thread(){  //遍历集合
       public void run(){
         Iterator<Integer> it=set.iterator();
         while(it.hasNext()){
           System.out.println(it.next());  //抛出ConcurrentModificationException
           yield();
         }
       }
     };

     Thread remover=new Thread(){  
       public void run(){
          for(int i=0;i<size;i++){
            set.remove(new Integer(i));  //删除集合中的元素
            yield();
          }
       }
     };

     reader.start();
     remover.start();
  }
}


/****************************************************
 * 作者:孙卫琴                                     *
 * 来源:<<Java面向对象编程>>                       *
 * 技术支持网址:www.javathinker.org                *
 ***************************************************/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?