iOS 多线程之NSThread简单使用

一、NSThread

1.创建和启动线程的3种方式

1>先创建,后启动

//创建

NSThread *thread1 = [[NSThread alloc] initWithTarget:self selector:@selector(download) object:nil];

//启动

[thread1 start];

2>创建完成自动启动

[NSThread detachNewThreadSelector:@selector(download) toTarget:self withObject:nil];

3>隐式创建(自动启动)

[self performSelectorInBackground:@selector(download) withObject:nil];

2.常见方法

1>获得当前线程

+ (NSThread *)currentThread;

2>获得主线程

+ (NSThread *)mainThread

3>睡眠(暂停)线程

+ (void)sleepUntilDate:(NSDate *)date;

+ (void)sleepForTimeInterval:(NSTimeInterval)ti;

4>设置线程的名字

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

-(NSString *)name;

二、线程同步

1.实质:为了防止多个线程抢夺统一资源造成的数据安全问题

2.实现:给代码加一个互斥锁(同步锁)

@synchronized(self){

//被锁住的代码

}

你可能感兴趣的:(iOS 多线程之NSThread简单使用)