多線程的那點兒事(之死鎖)
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
相信有過多線程編程經驗的朋友,都吃過死鎖的苦。除非你不使用多線程,否則死鎖的可能性會一直存在。為什么會出現死鎖呢?我想原因主要有下面幾個方面:
(1)個人使用鎖的經驗差異
(2)模塊使用鎖的差異
(3)版本之間的差異
(4)分支之間的差異
(5)修改代碼和重構代碼帶來的差異
不管什么原因,死鎖的危機都是存在的。那么,通常出現的死鎖都有哪些呢?我們可以一個一個看過來,
(1)個人使用鎖的經驗差異
(2)模塊使用鎖的差異
(3)版本之間的差異
(4)分支之間的差異
(5)修改代碼和重構代碼帶來的差異
不管什么原因,死鎖的危機都是存在的。那么,通常出現的死鎖都有哪些呢?我們可以一個一個看過來,
(1)忘記釋放鎖
[cpp] view plaincopy