自定義死鎖

2022-09-18 07:00:33 字數 657 閱讀 4728

1

package

多執行緒練習.鎖學習;23

/*4兩個執行緒互相抱對方想要的鎖 都在等待對方釋放鎖 所以卡死了5*/

6public

class

自定義死鎖 13}

1415

//口紅

16class

lipstick

1819

//鏡子

20class

mirror

2223

class makeup implements

runnable

3536

@override

37public

void

run() catch

(interruptedexception e)

48synchronized

(mirror) 51}

52 } else

catch

(interruptedexception e)

61synchronized

(lipstick) 64}

65}666768}

69 }

兩個執行緒互相抱對方想要的鎖 都在等待對方釋放鎖 所以卡死了

自定義乙個死鎖

在鎖o1釋放之前需要等待鎖o2的釋放 在鎖o2釋放之前需要等待鎖o1的釋放.死在無限等待對方釋放鎖的迴圈中.這只是乙個簡單的死鎖 a需要b,b需要a 複雜一些的有 a需要b,b需要c,c需要a.public class demo6 implements runnable catch interrup...

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...

自定義控制項 自定義鐘錶

private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...