GNUstep:是GNU计划(就是开源很多项目的计划)的项目之一,它将Cocoa的OC库重新开源实现了一遍。
源码地址:http://www.gnustep.org/resources/download.php
虽然GNUstep不是苹果官方的源码,但还是具有一定的参考价值。
队列组的使用:
问题:异步并发执行任务1、任务2,等任务1、2完成以后,再回到主线程执行任务3
多线程的安全隐患
资源共享:1块资源可能会被多个线程共享,也就是说多个线程可能会访问同一块资源
比如多个线程访问同一个对象、同一个变量、同一个文件
当多个线程访问同一块资源,很容易引发数据错乱和数据安全问题。
示例1:存钱取钱
代码如下:
示例2:卖票
代码如下:
线程安全分析:
多线程安全隐患解决方案:
解决方案:使用线程同步技术(同步,就是协同步调,按预定的先后次序进行运行)
常见的线程同步技术:加锁
具体锁的使用查看:底层21:多线程-锁
网友评论