总结下python中线程调度机制.
对于线程调度机制而言,同操作系统的进程调度一样,最关键是要解决两个问题:
1.在何时选择挂起当前线程,并选择处于等待的先一个线程呢?
2.在众多等待的线程中,选择哪一个作为激活线程呢?
在python多线程机制中,这个两个问题是有两个层次解决的。
如,进程间的切换,当发生了时钟中断,操作系统响应时钟中断,并在这个时候开始进程的调度。 同样的,python也是通过软件模拟了这样的时钟中断,来激激活线程的调度。
我们知道,python字节码解释器是按照指令,顺序一条一条地执行。这就可以在python内部维护一个数值,即就是时钟。如果为N,即当执行了N条指令后,就应该立即启动线程调度机制。