iOS基本型別屬性需要atomic操作嗎?磊哥聊遊戲2019-06-08 20:58:15

atomic是Objc使用的一種執行緒保護技術,基本上來講,是防止在寫未完成的時候被另外一個執行緒讀取,造成資料錯誤。而這種機制是耗費系統資源的,所以在iPhone這種小型裝置上,如果沒有使用多執行緒間的通訊程式設計,那麼nonatomic是一個非常好的選擇。指出訪問器不是原子操作,而預設地,訪問器是原子操作。這也就是說,在多執行緒環境下,解析的訪問器提供一個對屬性的安全訪問,從獲取器得到的返回值或者透過設定器設定的值可以一次完成,即便是別的執行緒也正在對其進行訪問。如果你不指定 nonatomic ,在自己管理記憶體的環境中,解析的訪問器保留並自動釋放返回的值,如果指定了 nonatomic ,那麼訪問器只是簡單地返回這個值。