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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小小6456 初级黑马   /  2014-5-19 13:02  /  1445 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求解。。。。。。。。呵呵

9 个回复

倒序浏览
1,sleep必须指定时间,wait可以指定可以不指定。
2,sleep和wait都可以让线程处于冻结状态,释放执行权。(相同点)
3,持有锁的线程执行sleep,不释放锁,持有锁的线程执行到wait释放锁。
4,sleep到时间会自动醒,wait没有指定时间,只能被其他线程通过notify唤醒。

点评

擦 学习了 第三条还真不知道!  发表于 2014-5-19 15:32
很牛逼哦!哥们  发表于 2014-5-19 13:30

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
sleep() 和 wait() 有什么区别?

sleep()---方法,需要指定睡的时间
try{Thread.sleep(10);}catch(Exception e){}//进来的线程,暂时睡10毫秒



而wait()--不需要指定时间,只是让线程暂停一下,但需要notify()唤醒,而且等待和唤醒必须是同一个锁。
        public void run()
        {
                if(!p.flag)
                        try{p.wait();}catch(Exception e){}//调用wait方法(存在异常)
                System.out.println(p.name+"....."+p.sex);
                p.flag=false;
                p.notify();//唤醒
        }




回复 使用道具 举报
学习了  
回复 使用道具 举报
sleep是睡,wait是等,睡自己会醒,等就只能等着别人叫你醒了
回复 使用道具 举报
sleep()是程序休眠,是Thread里面的方法 程序休眠一段自定义的时间后,自动解除休眠;
回复 使用道具 举报
我也是来看答案的,呵呵
回复 使用道具 举报
人过留名,知识掠走!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马