相关描述:
1、首先我们创建一个NSThread 对象,调用它的Start()-->然后在期方法中创建一个Pathread 线程,然后指定他的启动函数,main函数,调用target preform方法指定Thread在创建时的选择器。最后调用线程的exit()方法结束当前线程。
2、如何实现一个常驻线程:主要使用在其方法选择器中维持一个常驻线程。
NSOperationQueue 的优点:
1、添加线程依赖
2、控制任务状态
3、控制它的最大并发数。
通过重写它的Start 的方法 和main 方法来实现。
任务状态有哪些?
isReady 任务是否准本就绪
isExcuting 任务是否正在执行
isFinished 任务否已经结束
isCancelled 任务是否取消
如何结束一个线程的呢?通过KVO方式,来结束线程。
重写main 函数,底层控制变更任务执行完成状态以及任务退出状态。
重写start函数,自己控制任务状态。
常用锁有哪些:
@synchoronized\atomic\自旋锁(等待的锁)\NSLock\递归锁(解决NSLock的锁的重引用问题)、信号量。
比如说
-(void)methodA {
[lock lock];
[self methodB];
[lock unlock];
}
-(void)methodB{
[lock lock];
[lock unlock];
}
出现死锁问题,要使用递归锁处理。
网友评论