黑马程序员技术交流社区

标题: 代码报IllegalMonitorStateException错,求改正 [打印本页]

作者: 姜群    时间: 2015-9-27 14:40
标题: 代码报IllegalMonitorStateException错,求改正
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();
}
}


作者: 姜群    时间: 2015-9-27 14:41
这个是题目;声明一个共享数组,起俩个线程,俩儿线程分别隔一段时间(可以写一个随机数),
给数组中添加数据,每一个线程为数组添加3个数据即可
作者: 请叫我焦卷卷    时间: 2015-9-27 18:19
!!!!看不懂啊啊啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2