本帖最后由 陈虹旭 于 2012-10-14 12:15 编辑
- while(true)
- {
- synchronized(r)
- {
- if(r.flag)
- try{r.wait();}catch(Exception e){}
- if(x==0)
- {
- r.name="mike";
- r.sex="man";
- }
- else
- {
- r.name="丽丽";
- r.sex = "女女女女女";
- }
- x = (x+1)%2;
- r.flag = true;
- r.notify();
- }
- }
复制代码 以上是第一个线程- while(true)
- {
- synchronized(r)
- {
- if(!r.flag)
- try{r.wait();}catch(Exception e){}
- System.out.println(r.name+"...."+r.sex);
- r.flag = false;
- r.notify();
- }
- }
复制代码 这是第二个线程
谁能给我解释下wait()和notify的具体实现流程啊 ,最好用一个简单的小例子说明下,看了视频好几遍了,还是看不明白,感觉好繁琐...
wai()和notify为什么不是Thread的子类而是Object的子类呢?
wait()和sleep()抛出的异常一般都如何解决呢?
还有notifyall()一般在什么情况下使用? |