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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码在下方

3 个回复

倒序浏览
代码如下

11.jpg (29.91 KB, 下载次数: 107)

11.jpg
回复 使用道具 举报
当一个线程获得执行权,它执行run()时会获得一个锁,执行到sleep()时当前线程休眠(暂时停止执行xx毫秒),休眠时该线程还拥有着锁,其他线程无法进行
你把sleep时间调大一些效果会很明显的。通过sleep可以对程序有一定的控制,如多长时间循环一次等等
回复 使用道具 举报
sleep()
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。

由于sleep()方法是Thread类的方法,因此它不能改变对象的机锁。所以当在一个Synchronized方法中调用sleep()时,线程虽然休眠了,但是对象的机锁没有被释放,其他线程仍然无法访问这个对象。sleep()方法不需要在同步的代码块中执行。但是sleep()可以通过interrupt()方法打断线程的暂停状态,从而使线程立刻抛出InterruptedException
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马