原文:nonatomic與atomic的區別與作用

之前只知道在聲明屬性的時候要用nonatomic與atomic這兩個關鍵字,但是具體的區別與作用還不是很理解,最近被問到,就做一下功課總結一下 希望對不是很理解的童鞋也有幫助 atomic和nonatomic區別用來決定編譯器生成的getter和setter是否為原子操作。atomic提供多線程安全,是描述該變量是否支持多線程的同步訪問,如果選擇了atomic 那么就是說,系統會自動的創建lock ...

2016-04-06 17:53 0 7031 推薦指數:

查看詳情

iOS 開發 atomicnonatomic 區別

atomic : 變量默認是有該有屬性的,這個屬性是為了保證在多線程的情況下,編譯器會自動生成一些互斥加鎖的代碼,避免該變量的讀寫不同步的問題。   nonatomic : 如果該對象無需考慮多線程的情況,這個屬性會讓編譯器少生成一些互斥代碼,可以提高效率。 atomic 的意思 ...

Mon Dec 07 00:09:00 CST 2015 0 2176
nonatomic,assign,copy,retain的區別

nonatomic:非原子性訪問,不加同步,多線程並發訪問會提高性能。如果不加此屬性,則默認是兩個訪問方法都為原子型事務訪問。 (atomic是Objc使用的一種線程保護技術,基本上來講,是防止在寫未完成的時候被另外一個線程讀取,造成數據錯誤。而這種機制 ...

Thu Mar 01 18:05:00 CST 2012 0 4598
Atomic long 和long的區別

Atomic long 和long:   前者是一個對象,包含對象頭(object header)以用來保存hashcode、lock等信息,32位系統占用8個字節,64位系統占16個字節,所以在64位系統的情況下:   * volatile long = 8 bytes ...

Wed Oct 23 21:49:00 CST 2019 0 401
Atomic類的getAndIncrement()方法與incrementAndGet()區別

Atomic類是JDK1.5開始增加的內容,用於基本類型的原子操作。 其中getAndIncrement()方法與incrementAndGet()是常見的兩種方法   getAndIncrement():   incrementAndGet(): 從返回 ...

Wed May 20 06:49:00 CST 2020 0 7474
&和&&的作用區別

& 邏輯與,& 兩邊的表達式都會進行運算 整數的位運算符 && 短路與,&& 左邊的表達式結果為 false 時,&am ...

Tue Nov 12 16:15:00 CST 2019 0 360
@RequestBody和@RequestParam的作用區別

區別: 1、在請求上的區別:@RequestBody用於Post請求 @RequestParam用於Get請求 2、在后端的同一個接收方法里,@RequestBody與@RequestParam()可以同時使用,@RequestBody最多只能有一個,而@RequestParam ...

Tue Aug 31 23:09:00 CST 2021 0 115
fwrite ,fprintf的作用區別

1.概念和作用 fwrite是C語言函數,指向文件寫入一個數據塊,寫入的是 fprintf是C/C++中的一個格式化寫-庫函數,其作用是格式輸出到一個流/文件中;原型是int fprintf( FILE *stream, const char *format, [ argument ...

Sat Feb 28 00:13:00 CST 2015 0 7456
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM