java中阻塞非阻塞概念

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
引起一个线程阻塞有多种情况
1 线程执行了某个同步方法,由于获取不到锁,导致线程放弃cpu执行权
2 调用某个对象wait方法,只有等待其他线程执行了该对象notify或者notifyAll方法才能恢复
3 线程调用了Thread.sleep(int n)
4 执行io或者远程通信时,等待资源而进入阻塞状态,例如我们读取控制台数据System.in时,如果我们一直没有输入数据,那么线程就一直等待
由于IO造成阻塞的情况大致分为以下情况

你可能感兴趣的:(java中阻塞非阻塞概念)