这个在学习操作系统的时候也涉及了,死锁就是当两个以上的运算单元,双方都在等待对方停止运行,以取得系统资源,但是没有一方提前退出时,这种状况,就称为死锁。
其实毕老师的比喻很生动的,两个人吃饭,一人一根筷子,这时候就有两种情况:如果两个人都不肯先让步,那么他俩死都不可能吃到东西;如果一个人让步,那么就能吃到东西了。至于这里的让不让步,这个不是咱们能决定的,是操作系统干的活。
或者说是有一定概率性的,就像经常说的共享代码块,- //假设有两个线程A、B
- public void setRes(String name,int id){//部分代码
- this.name = name;
- //A可能在这里挂了嘛,但那也是肯能,并不是一定,这有概率性,是咱们决定不了的。这是一个道理
- this.id = id;
- }
复制代码 |