标签:
一、NSThread
1、创建和启动3种方式
1>先创建,后启动
//创建
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(download:) object:@"http://XXX"];
//启动
[thread start];
2>创建完全自动启动
[NSThread detachNewThreadSelector:@selector(download:) toTarget:self withObject:@"http://XXX"];
3>隐式创建(自动启动)
[self performSelectorInBackground:@selector(download:) withObject:@"http://XXX"];
2.常用方法
1>获取当前线程
+ (NSThread *)currentThread;
2>获取主线程
+ (NSThread *)mainThread;
3>睡眠(暂停)线程
+ (void)sleepUntilDate:(NSDate *)date;
+ (void)sleepForTimeInterval:(NSTimeInterval)ti;
4> 设置线程的名字
- (void)setName:(NSString *)n;
- (NSString *)name;
二、线程同步
1、为防止多个线程抢夺同一资源的数据安全问题
2、实现:为代码加一互斥锁(同步锁)
@synchronized(self) {
//被锁代码
}
标签:
原文地址:http://www.cnblogs.com/fangchun/p/4684912.html