线程 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: //同上
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值