1package
多執行緒練習.鎖學習;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...