线程调度涉及硬件和操作系统(OS)。
可以参考阅读:
Linux进程调度-------O(1)调度和CFS调度器
对于OS来说,始终绕不过一个问题:来了一堆线程,操作系统如何调用:线程调度器。
最早先的做法:平均分配,一个线程分配10ms。时间 轮 片。这样不公平,因为有些线程需要优先处理,有些线程不着急。有些线程需要独占,有些线程需要实时。
Linux的做法是:优先考虑优先级,兼顾等待时间的方法。
叫做:CFS(complete fair schedule)算法。
- 优先级最高的优先给时间片;
- 优先级相同的,谁的等待时间长,给谁。
马老师说:好多人,认为自己的时间不值钱,这是典型的穷人思维。