线程 NSThread 多线程 获取当前线程
线程 NSThread 多线程线程与进程进程是一个活动的程序,一个容器是系统资源管理的最小单位切换代价较高线程是在进程容器中运行,实际工作的代码是程序执行的最小单位切换代价较低(由于线程是在同一块内存中进行切换的)一个NSThread对象在程序中控制一个线程,当你有很多任务需要执行,但又不想阻塞主线程时,多线程将会很有用。运用多线程可以同时执行多个任务。
·
NSLog(@" 当前线程 %@",[NSThread currentThread]);
NSLog(@" 主线程 %@",[NSThread mainThread]);
线程 NSThread 多线程
线程与进程进程
是一个活动的程序,一个容器
是系统资源管理的最小单位
切换代价较高
线程
是在进程容器中运行,实际工作的代码
是程序执行的最小单位
切换代价较低(由于线程是在同一块内存中进行切换的)
一个NSThread对象在程序中控制一个线程,当你有很多任务需要执行,但又不想阻塞主线程时,
多线程将会很有用。运用多线程可以同时执行多个任务。
NSThread的方法
//初始化
1、- (id)init //这个是NSThread的指定初始化方法
2、- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument
初始化一个线程,应该注意的是这个SEL只能有一个参数,并且选择的方法不能有返回值,
需要注意的是这个方法只是创建了一个线程,并没有开始这个线程,要用stat方法去开始线程
3、+ (void)detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument
创建并开始一个线程。
4、- (void)start //开始一个线程
5、+ (void)sleepUntilDate:(NSDate *)aDate
阻塞当前线程,直到指定时间
6、+ (void)sleepForTimeInterval:(NSTimeInterval)ti
使线程睡眠一段时间
//判断线程状态
7、- (BOOL)isExecuting //判断线程是否正在执行
8、- (BOOL)isCancelled //判断线程是否已经取消
9、- (BOOL)isFinished //判断线程是否执行完
10、+ (BOOL)isMainThread //判断当前线程是不是主线程
11、+ (BOOL)isMultiThreaded //判断应用程序是否是多线程的
12、- (BOOL)isMainThread //判断制定的对象是否是主线程
13、+ (NSThread *)mainThread //返回一个主线程对象
14、+ (NSThread *)currentThread //返回当前的线程
15、+ (NSArray *)callStackReturnAddresses
返回的是这个线程在栈中所占的地址所组成的数组
16、+ (NSArray *)callStackSymbols //返回栈空间的符号
//线程属性
17、– threadDictionary //返回线程对象的字典
18、– name //返回线程名字
19、– setName: //设置线程名字
20、– stackSize //返回线程所占栈的空间大小
21、– setStackSize: //设置线程所占栈的空间大小
//线程优先权
22、+ threadPriority //返回当前线程的优先权,其实返回的是一个double型数字,
//从0.0 到1.0 其中1.0最高
23、– threadPriority //返回当前线程对象的优先权
24、+ setThreadPriority: //设置当前线程的有限权
25、– setThreadPriority: //同上
更多推荐
已为社区贡献1条内容
所有评论(0)