NSThread(线程)

创建线程

//方式1 init
NSThread *thread1 = [[NSThread alloc] initWithTarget:self selector:@selector(action1) object:nil]; 

//方式2   子类化NSThread,覆写-(void)main

//方式3
[self performSelectorInBackground:@selector(action3) withObject:nil];

NSThread

@interface NSThread : NSObject

1   多线程中的任务能够和主线程中的任务并行执行。
//线程名字
@property (nullable, copy) NSString *name;
//线程是否取消
@property (readonly, getter=isCancelled) BOOL cancelled;
//获取主线程
+ (NSThread *)mainThread;
//获取当前线程
+ (NSThread *)currentThread;
//是否在多线程中
+ (BOOL)isMultiThreaded;
//是否在主线程中
+ (BOOL)isMainThread;

//线程执行
//如果线程未开始之前增加取消标记,则线程不再执行
- (void)start;
//线程添加取消标记
//线程一旦开始,无法取消
- (void)cancel;
//当前线程退出
//可通过判断线程是否添加取消标记来强制线程退出
+ (void)exit;

//设置休眠时间使当前线程休眠,在到达约定时间后,线程重新返回线程池等待CPU的调度
+ (void)sleepForTimeInterval:(NSTimeInterval)ti;

阅读更多
个人分类: iOS高级
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭