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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨玉辉 中级黑马   /  2013-3-5 13:02  /  1685 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨玉辉 于 2013-3-6 19:24 编辑

  既然,JDK1.5之后版本支持Lock_Condition机制,那么我们是不是就可以放弃wait(),sleep(),notify(),notifyAll()呢、?

各位怎么看?

5 个回复

倒序浏览
我觉得因为Java的线程机制,是抢占试的。当程序越来越大的时候出现的问题就会越来越明显了,例如:notifyAll();如果有几个线程都在等待CPU的执行,当它复活所有线程的时候,会使CPU的执行效率降低很多,而且会出现死锁的现象。其他的跟上面也差不多,我就不多解释了!!!
回复 使用道具 举报
控制线程的方法怎么能舍弃呢?万一我要sleep线程做计时器呢.
回复 使用道具 举报
本帖最后由 孙传磊 于 2013-3-5 16:44 编辑

如果在以后的工作中遇到了,比较老的代码,而我们只有新知识,是不是会出现麻烦呢。
而且 synchronized 方法和语句的范围机制使得使用监视器锁编程方便了很多,而且还帮助避免了很多涉及到锁的常见编程错误,提供了对与每个对象相关的隐式监视器锁的访问。
JDK1.5之后版本支持Lock_Condition机制,功能上随着灵活性的增加,也带来了更多的责任。不使用块结构锁就失去了使用 synchronized 方法和语句时会出现的锁自动释放功能
我个人认为不应该放弃
回复 使用道具 举报
孙传磊 发表于 2013-3-5 15:41
如果在以后的工作中遇到了,比较老的代码,而我们只有新知识,是不是会出现麻烦呢。
而且,wait(),sleep ...

额,可是eclipse是怎么自动执行导入的包?好像这个不是我们的重点,以后就不用了吧?
回复 使用道具 举报
杨玉辉 发表于 2013-3-5 16:08
额,可是eclipse是怎么自动执行导入的包?好像这个不是我们的重点,以后就不用了吧? ...

是的,回答的不好,不应该提什么导入问题,而且导入和加载都有程序区做了,而且多那么一点加载在现在的硬件上运行没什么区别。那种回答是有些离题啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马