欢迎光临朱凯的个人博客!
朱凯,mzetire.com

多线程的底层实现?

 发布时间: 2016-12-17 18:27      原创:  朱凯      评论: .       .人查看

1> 首先搞清楚什么是线程、什么是多线程

进程是指在系统中正在运行的应用程序

1个进程要想执行任务, 必须得有线程(一个或多个,至少一个)

线程是进程的基本执行单元, 进程的所有任务都是在线程中执行

多线程是指在一个进程中开启多条线程, 每条线程并行(同时)执行不同任务

这里还可以聊聊主线程,线程同步异步啊一些扩展的东西

2> Mach是第一个以多线程方式处理任务的系统,因此多线程的底层实现机制是基于Mach的线程

3> 开发中很少用Mach级的线程,因为Mach级的线程没有提供多线程的基本特征,线程之间是独立的

4> 开发中实现多线程的方案

• C语言的 bridge

• OC的 NSThread

• C语言的 GCD 接口(性能最好,代码更精简)

• OC的 NSOperation 和 NSOperationQueue (基于GCD)

分享是一种快乐,也是一种美德:
¥打开支付宝,扫码领红包¥ 红包

支付宝 aliPay

微信 wxPay