请问一下sleep 不释放锁,这说明和它共用同一个锁的线程不能执行,但其他不用这个锁的线程可以执行吗 望赐教,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要仔细看下,sleep(),wait()的区别。lock只是lock这个锁! 千万不要带着锁用sleep()去睡觉。 千万不要带着锁用sleep()去睡觉。这样多线程的优势几乎给“消灭”了,而且弄不好,容易造成“死锁”。不要这样做。这不是个好的程序代码。 sleep()---只是让线程休眠一段时间,那段时间过后线程就会执行队列,如果有现成的资源可以马上进行操作;wait()----线程一旦wait后,就进入等待队列中,直到notify或者notifyAll后,才进入执行队列;需要加锁的只是那些共享资源,有多个线程用到时,而且可能会改变共享资源的状态时才加锁 The thread does not lose ownership of any monitors. 你就把它看成没调用过sleep 在monitors ownership这点上保持原状 不要带着锁用sleep()去睡觉.sleep()是用于没有锁时去睡觉。这样会保持多线程的优点。带有锁时不能这么干,而要换成:wait(). swing判断程序是否已经运行。。。 关于JAVA异常的迷惑 thinking in java上关于IO的题目 我的JDK安装上了,可为什么还是用不成? 关于JAVA截取字符串 类clone()问题 如何搭建运行JSP的WEB服务器 请问一个java的出错含义~踢得有分 如何注册jbuilder6 personal,马上给分 为什么java出这样的问题 用eclipse定义一个变量static final COMM_ERR_NONE = 0x00000000; 为何编译器报错说final无法解析? java基础性问题
wait()----线程一旦wait后,就进入等待队列中,直到notify或者notifyAll后,才进入执行队列;
需要加锁的只是那些共享资源,有多个线程用到时,而且可能会改变共享资源的状态时才加锁
你就把它看成没调用过sleep 在monitors ownership这点上保持原状