码迷,mamicode.com
首页 > 其他好文 > 详细

NSThread 的用法

时间:2016-01-18 11:56:41      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

一、线程的注意点:

1.不要同时开太多的线程(最多不要超过5条,其中包括主线程)

2.线程概念

2.1.主线程:UI 线程,显示、刷新 UI 界面,处理 UI 控件的事件

2.2.子线程:后台线程,异步线程

3.不要把耗时的操作放在主线程,要放在子线程中执行

二、NSThread 用法

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

1.1.先创建,后启动

// 创建

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

// 启动

[thread start];

1.2.创建完自动启动

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

1.3.隐式创建(自动启动)

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

 

2.常见方法

2.1.获得当前线程

+ (NSThread *)currentThread;

2.2.获得主线程

+ (NSThread *)mainThread;

2.3.睡眠(暂停)线程

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

+ (void)sleepForTimeInterval:(NSTimeInterval)ti;

2.4.设置线程的名字

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

- (NSString *)name;

 

三、线程同步

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

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

@synchronized(self){

// 被锁住的代码

}

 

NSThread 的用法

标签:

原文地址:http://www.cnblogs.com/sleepingSun/p/5138464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!