A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Array {
   int[]arr=new int[6];
public int c=0;
public   void add( int num){
  arr[c]=num;
  c++;
}
}
public class ThreadDome1 implements Runnable {
private Array a;

public ThreadDome1(Array a) {
  
  this.a=a;
}
@Override
public void run() {
  
  if(a.c%2==0){
   try {
    a.wait();
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  a.add(a.c);
  
a.notify();
}
}
public class ThreadDome2 implements Runnable {
private Array a;

public ThreadDome2(Array a) {
  
  this.a=a;
}
@Override
public void run() {
  // TODO Auto-generated method stub
   if((a.c%2)!=0){
    try {
     a.wait();
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   a.add(a.c);
  a.notify();
}
}
public class Dome {
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  Array a=new Array();
  ThreadDome1 td1=new ThreadDome1(a);
  ThreadDome2 td2=new ThreadDome2(a);
  Thread t1=new Thread(td1);
  Thread t2=new Thread(td2);
  t1.start();
  t2.start();
}
}

2 个回复

倒序浏览
这个是题目;声明一个共享数组,起俩个线程,俩儿线程分别隔一段时间(可以写一个随机数),
给数组中添加数据,每一个线程为数组添加3个数据即可
回复 使用道具 举报

回帖奖励 +2

!!!!看不懂啊啊啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马