java线程等待有哪些常见误区
导读:使用Thread.sleep( 方法来进行线程等待:Thread.sleep( 方法会让当前线程休眠一段时间,而不会释放锁资源,不适合用于实现线程间的等待和通知机制。 使用Thread.join( 方法来进行线程等待:Thread.jo...
-
使用Thread.sleep()方法来进行线程等待:Thread.sleep()方法会让当前线程休眠一段时间,而不会释放锁资源,不适合用于实现线程间的等待和通知机制。
-
使用Thread.join()方法来进行线程等待:Thread.join()方法会让当前线程等待目标线程执行完毕,但是如果目标线程一直没有执行完毕,会导致当前线程一直阻塞,可能会引发死锁问题。
-
使用busy-waiting(忙等):忙等是指在循环中不断地进行条件判断,直到条件满足才跳出循环。这样的做法会消耗CPU资源,不推荐使用。
-
不正确地使用wait()和notify()方法:在使用wait()和notify()方法时,必须在synchronized块中进行操作,否则会导致IllegalMonitorStateException异常。
-
不正确地使用Object类的wait()方法:在使用Object类的wait()方法时,必须在while循环中判断条件,而不是用if语句,否则可能会出现虚假唤醒的情况。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: java线程等待有哪些常见误区
本文地址: https://pptw.com/jishu/687297.html