首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

wait跟notify的疑问

2012-09-10 
wait和notify的疑问问题有点多嘿嘿1:wait和notify必须成对吗?2:线程a,b访问同一个对象obj的synchronized的

wait和notify的疑问
问题有点多嘿嘿

1:wait和notify必须成对吗?

2:线程a,b访问同一个对象obj的synchronized的m1();线程c,d访问这个obj的synchronized的m2();不考虑实现条件。假如这时候a,b,c都wait,d一个notifyall会唤醒a,b,c吗,这个c能唤醒吗?

3:执行wait方法的线程是在操作系统线程运行图里是处于什么状态?阻塞?还是啥?还是放到一个队列里让其他notify?

[解决办法]
1:wait和notify必须成对吗?
——显然不是,可以1个wait多个notify,也可能反之。

2:线程a,b访问同一个对象obj的synchronized的m1();线程c,d访问这个obj的synchronized的m2();不考虑实现条件。假如这时候a,b,c都wait,d一个notifyall会唤醒a,b,c吗,这个c能唤醒吗?
——可以,只要大家wait的对象都是同一个,这里有个例子你可以参考:
http://blog.csdn.net/ldh911/article/details/7268879

3:执行wait方法的线程是在操作系统线程运行图里是处于什么状态?阻塞?还是啥?还是放到一个队列里让其他notify?
——wait也是阻塞。

热点排行