面試準備第二篇

1:nil,NIL,NSNULL有什么區(qū)別?

nil,NIL可以說是等價的,都代表內存中一塊空地址;NSNULL代表一個指向nil的對象

2:如何實現一個線程安全的NSMutableArray?

NSMutaleArray是線程不安全的,當有多個線程同時對數組進行操作的時候可能導致崩潰或數據錯誤

|線程鎖:使用線程鎖對數組讀寫時進行加鎖

|派發(fā)隊列:多用派發(fā)隊列,少用同步鎖中指出:使用“串行同步隊列”(serial synchronization

queue),將讀取操作及寫入操作都安排在同一個隊列里,即可保證數據同步。而通過并發(fā)隊列,結合GCD的柵欄塊(barrier)來不僅實現數據同步線程安全,還比串行同步隊列方式更高效

3.atomic修飾的屬性時絕對安全的嗎?為什么?

不是,所謂的安全只是局限于Setter,Getter的訪問器方法而言的,你對他做Release的操作是不會受影響的。這個時候就容易崩潰

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容