JAVA 线程

来源:互联网 发布:python测试框架比较 编辑:程序博客网 时间:2024/06/07 01:43

public class Test {
 public static void main(String[] args) {
  Team a=new Team();
  a.enter(1);
  a.enter(2);
  a.enter(3);
  a.enter(4);
  a.enter(5);
  a.enter(6);
  a.enter(7);
  a.enter(8);
  a.enter(9);
  a.enter(10);
  MyThread no1=new MyThread(a);
  MyThread no2=new MyThread(a);
  MyThread no3=new MyThread(a);
  MyThread no4=new MyThread(a);
  MyThread no5=new MyThread(a);
  no1.start();
  no2.start();
  no3.start();
  no4.start();
  no5.start();

 

 

 

 

import java.util.ArrayList;

public class Team {
 private ArrayList ex=new ArrayList();

 public void enter(Object o) {
  ex.add(o);
 }

 public Object exit() {
  return (ex.remove(0));
 }

 public boolean isempty() {
  return ex.isEmpty();
 }
}

 

 

 

public class MyThread extends Thread {
 private Team queue;
 public MyThread(Team queue){
  this.queue=queue;
 }
 public void run(){
  synchronized(queue){//加锁
  while(!queue.isempty()){
   queue.notify();
   System.out.println(this.currentThread().getName()+"---"+queue.exit());
   try {
    queue.wait();
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   
  }
  }
   
  }
 

}