寫乙個死鎖

2022-09-03 10:27:13 字數 473 閱讀 9704

死鎖產生的原因:

乙個執行緒進入鎖一需要鎖二,

另乙個執行緒進入鎖二需要鎖一,

由於鎖一鎖二都被佔了,所以執行緒執行不下去。

所以只需寫乙個相互交叉的鎖一鎖二就可以產生死鎖。

class sisuogoucheng implements runnable

public void run()

if(panduan)}}

else}}

}}class mykey

public class sisuo

public static void main(string args)

thread t1=new thread(new sisuogoucheng(true));

thread t2=new thread(new sisuogoucheng(false));

t1.start();

t2.start();

}

寫乙個死鎖的例子

這是乙個很好玩的題,做併發的話,不小心能寫出來。讓你寫乙個一定死鎖的例子,沒有思考過的話,確實不容易。下邊的是 的乙個,別人寫的。非常典型的乙個互相等待導致的死鎖的例子,很好理解。package com.spri.test 在實際程式設計中,要盡量避免出現死鎖的情況,但是讓你故意寫乙個死鎖的程式時似...

死鎖的誕生,寫乙個簡單的死鎖例項

在實際程式設計中,要盡量避免出現死鎖的情況,但是讓你故意寫乙個死鎖的程式時似乎也不太簡單 有公司會出這樣的面試題 以下是乙個簡單的死鎖例子。執行緒的同步化可能會造成死鎖,死鎖發生在兩個執行緒相互持有對方正在等待的東西 實際是兩個執行緒共享的東西 只要有兩個執行緒和兩個物件就可能產生死鎖。乙個簡單的死...

面試 用C 寫乙個死鎖程式

面試官要求用c 寫乙個死鎖的程式。目前想到兩種簡單的寫法,一種是單執行緒對乙個資源重複申請上鎖 第二種是兩個執行緒對兩個資源申請上鎖,形成環路。實現1 include include include include using namespace std int data 1 mutex mt1,m...