nonatomic和atomic選擇(iOS)

一、前言

  • OC在定義屬性時有nonatomic和atomic兩種選擇
    • atomic:原子屬性,為setter方法加鎖(默認(rèn)就是atomic)
    • nonatomic:非原子屬性,不會為setter方法加鎖

二、原子和非原子屬性的選擇

1、nonatomic和atomic對比

  • atomic:線程安全,需要消耗大量的資源
  • nonatomic:非線程安全,適合內(nèi)存小的移動設(shè)備

2、選擇 —> iOS開發(fā)的建議

  • 所有屬性都聲明為nonatomic
  • 因?yàn)閚onatomic是線程不安全的,所以我們要盡量避免多線程搶奪同一塊資源
  • 盡量將加鎖、資源搶奪的業(yè)務(wù)邏輯交給服務(wù)器端處理,減小移動客戶端的壓力
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 基礎(chǔ) 1. 為什么說Objective-C是一門動態(tài)的語言? 2. 講一下MVC和MVVM,MVP? 3. 為...
    波妞和醬豆子閱讀 3,514評論 0 46
  • Objective-C是一門動態(tài)的語言 ① 什么是動態(tài)語言? 動態(tài)語言,是指程序在運(yùn)行時可以改變其結(jié)構(gòu):新的函數(shù)可...
    小李龍彪閱讀 418評論 0 0
  • 技術(shù) 最近正在準(zhǔn)備換份工作, 看到網(wǎng)上有份題庫, 覺得不錯, 準(zhǔn)備整理下, 復(fù)習(xí)下所學(xué)知識, 為面試做足準(zhǔn)備, 下...
    火之玉閱讀 6,460評論 7 104
  • 一: 多線程的基本概念1.同步與異步的概念1.1 同步 必須等待當(dāng)前語句執(zhí)行完畢,才可以執(zhí)行下一個語句。1.2...
    程序_猿閱讀 3,636評論 1 16
  • 線程概述 有些程序是一條直線,起點(diǎn)到終點(diǎn);有些程序是一個圓,不斷循環(huán),直到將它切斷一個運(yùn)行著的程序就是一個進(jìn)程或者...
    褪而未變閱讀 356評論 0 0

友情鏈接更多精彩內(nèi)容