线程之间的通信

同步工具

锁(locks),条件(condition),原子操作(atomic)

线程间通信

Direct messaging: Cocoa应用可以直接perform某个selector在指定线程
全局变量,共享内存和对象。
Conditions:一种特殊类型的锁
Run loop sources:简单的来说,run loop是用来在线程上管理时间异步到达的工具。run loop能为线程监听一个或多个事件源(event sources)。run loop能把线程置于休眠状态,而当事件到达时,系统能唤醒线程并把事件分发给run loop,而后run loop能将事件分发给特定的handler。
Ports and sockets:也使用run loop,不同之处在于可以进行多进程通信
Message queues:历史遗物,一种多进程通信的玩意,才用FIFO的信息队列,但是有效率问题,
Cocoa distributed objects:好高级的技术,可以在call不同cocoa应用的object,甚至跨越网络的不同计算机上的cocoa应用。

转载:http://gracelancy.com/blog/2013/05/02/OSX-iOS-Threading-Programming/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容