线程中sleep导致崩溃是一种错觉

简介: 线程中sleep导致崩溃是一种错觉

今天下午调试代码的时候,发现运行一段时间后肯定崩溃。使用输出发现死在sleep之前。嗯?是这个线程有问题?于是把线程功能逐步去掉,照样崩溃;不启动这个线程,还是崩溃。这是为什么?


其实,sleep导致崩溃,是一种错觉。因为sleep的时间一般较长,如果此时别的地方崩溃,那么看起来就象是sleep导致的。验证办法很简单,去掉sleep会崩溃,去掉这个线程还是会崩溃。


碰到这种情况,简单测试验证一下,目光放在别的地方。


目录
相关文章
|
监控 安全
并发编程系列教程(06) - 多线程之间通讯(wait、notify、sleep、Lock锁、Condition)
并发编程系列教程(06) - 多线程之间通讯(wait、notify、sleep、Lock锁、Condition)
70 0
【多线程面试题九】、说一说sleep()和wait()的区别
sleep()和wait()的主要区别在于sleep()是Thread类的静态方法,可以在任何地方使用且不会释放锁;而wait()是Object类的方法,只能在同步方法或同步代码块中使用,并会释放锁直到相应线程通过notify()/notifyAll()重新获取锁。
|
4月前
|
Java C# Python
线程等待(Thread Sleep)
线程等待(Thread Sleep)
|
6月前
|
Java
在多线程中sleep()和wait()的区别(详细)
在多线程中sleep()和wait()的区别(详细)
java 线程快速入门(三) sleep方法的使用
java 线程快速入门(三) sleep方法的使用
155 0
|
Java 调度
69. 对并发熟悉吗?谈谈线程间的协作(wait/notify/sleep/yield/join)
69. 对并发熟悉吗?谈谈线程间的协作(wait/notify/sleep/yield/join)
55 1
69. 对并发熟悉吗?谈谈线程间的协作(wait/notify/sleep/yield/join)
Zp
|
Java
java使用sleep()方法让当前线程睡眠的两种方式
java使用sleep()方法让当前线程睡眠的两种方式
Zp
1464 0
|
Java
Java线程方法-休眠(sleep)
Java线程方法-休眠(sleep)
509 0
Java线程方法-休眠(sleep)
|
Java
Java多线程07—线程的通信以及sleep()和wait()的比较
Java多线程07—线程的通信以及sleep()和wait()的比较
102 0

相关实验场景

更多
下一篇
无影云桌面