天天看點

自動鎖

想想這麼一個函數:

這個時候,我們忘掉解鎖的機會就太大了,多個return語句,以及可能出現的異常抛出。都有可能導緻我們忘記了釋放掉鎖。以為我們要在每個return,throw前面加上一個unlock。

還有一個東西很重要,作用域。如果沒有作用域,我們的程式世界不知道會帶來怎樣的一種不可想象的混亂。

因為作用域很重要,我們可以使用作用域的概念完成自動解鎖功能

好了,這樣你就隻需要在你需要鎖上鎖的地方頂一個一個scopelock的局部變量,然後就不用管了,多好的事兒啊。

需要說明這個scopelock不是我自己發明的,來自posa卷2,《pattern oriented software architecture》,不錯的一本書。

繼續閱讀