java 线程waiting和blocked
时间: 2023-04-23 09:02:38 浏览: 127
Java多线程wait和notify
Java线程的waiting和blocked状态都是线程的阻塞状态,但是两者的原因和表现不同。
waiting状态是指线程等待某个条件的满足,例如调用了Object.wait()方法或者Thread.join()方法,线程会进入waiting状态,直到被其他线程唤醒或者等待时间到达。
blocked状态是指线程被阻塞在某个锁上,例如线程试图获取一个被其他线程占用的锁,线程会进入blocked状态,直到锁被释放或者等待时间到达。
总的来说,waiting状态是由线程自身主动进入的,而blocked状态是由其他线程占用锁导致的。两者都会导致线程暂停执行,等待条件的满足或者锁的释放。
阅读全文