NSOperation & NSThread

相关描述:
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];

}

出现死锁问题,要使用递归锁处理。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 闲来无事, 打开自己的印象笔记看到之前自己关于GCD/NSOperation/NSThread的笔记,觉得很清晰易...
    ethan_cun阅读 1,670评论 0 0
  • 不足的地方请大家多多指正,如有其它没有想到的常问面试题请大家多多评论,一起成长,感谢!~ String可以被继承吗...
    启示录是真的阅读 8,084评论 3 3
  • 引用自多线程编程指南应用程序里面多个线程的存在引发了多个执行线程安全访问资源的潜在问题。两个线程同时修改同一资源有...
    Mitchell阅读 6,112评论 1 7
  • 线程 操作系统线程理论 线程概念的引入背景 进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有...
    go以恒阅读 5,622评论 0 6
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 6,644评论 0 14

友情链接更多精彩内容