NSThread的使用
創建和啟動線程
-
一個NSThread對象就代表一條線程
-
創建和啟動線程
</ul>
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; [thread start]; // 線程一啟動,就會在線程thread中執行self的run方法
-
主線程相關用法
</ul>
+ (NSThread *)mainThread; // 獲得主線程 - (BOOL)isMainThread; // 是否為主線程 + (BOOL)isMainThread; // 是否為主線程
-
獲取當前線程
</ul>
NSThread *current = [NSThread currentThread];
-
線程調度的優先級
</ul>
+ (double)threadPriority; + (BOOL)setThreadPriority:(double)p; - (double)threadPriority; - (BOOL)setThreadPriority:(double)p; 調度優先級的取值范圍是0.0 ~ 1.0,默認0.5,值越大,優先級越高
-
線程的名字
</ul>
- (void)setName:(NSString *)n; - (NSString *)name;
其他創建線程的方式
-
創建線程后自動啟動線程
</ul>
[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];
-
隱式創建線程
</ul>
[self performSelectorInBackground:@selector(run) withObject:nil];
-
上述兩種創建方式的優缺點
</ul>
優點:簡單快捷
缺點:無法對線程進行更細致的設置,沒有獲取到線程對象
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!