@synchronized 的作用是創建一個互斥鎖,保證此時沒有其它線程對self對象進行修改。這個是objective-c的一個鎖定令牌,防止self對象在同一時間內被其它線程訪問,起到線程的保護作用。 一般在公用變量的時候使用,如單例模式或者操作類的static變量中使用。
大概就是如果線程A訪問一對象時,線程B必須等線程A訪問完畢后,線程B才能夠去操作。@synchronized(id anObject)是最簡單的方法,會自動對參數對象加鎖,保證臨界區內的代碼線程安全。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。