(四)iOS开发之多线程—NSThread

2017-10-18  本文已影响1人  笃Boy

一、什么是NSThread

NSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程,需要手动管理线程的生命周期,处理线程同步等问题。

二.创建和启动线程

1.对象创建,一个NSThreadc对象就代表一条线程。

2.创建,启动线程:

NSThread*thread = [[NSThreadalloc]initWithTarget:selfselector:@selector(run)object:nil];

//线程一启动,就会在线程thread中执行self的run方法

[threadstart];

3.主线程相关用法

+ (NSThread*)mainThread;//获得主线程

- (BOOL)isMainThread;//是否为主线程

+ (BOOL)isMainThread;//是否为主线程

4.获得当前线程

NSThread*current = [NSThreadcurrentThread];

5.线程名字设置

- (void)setName:(NSString*)name;

- (NSString*)name;

三.其他创建线程方式

1.创建线程后自动启动线程

[NSThreaddetachNewThreadSelector:@selector(run)toTarget:selfwithObject:nil];

2.隐式创建并启动线程

[selfperformSelectorInBackground:@selector(run)withObject:nil];

3.上述2种创建线程方式的优缺点

优点:简单快捷

缺点:无法对线程进行更详细的设置

Dome:

https://github.com/tangbinbinM/NSThreadCode.git

上一篇 下一篇

猜你喜欢

热点阅读