但是,如何在存在线程调度程序的情况下同时运行它们?
它们并不总是并发运行,调度程序的工作是交换正在运行的线程,以便它们看起来似乎并发运行。即太快,您看不到。
调度程序使用的时间片为0.1毫秒。您只能看到10到25毫秒的闪烁,因此这太快了,您看不到,但是它正在快速交换线程,因此看起来存在并发性。
例如,您看不到电影从一帧跳到下一帧。每帧每1/42秒更改一次,因此您认为在实际使用高速相机拍摄时会看到动静,屏幕看起来跳动。
如果您有一个逻辑CPU,则所有线程都将交换到一个CPU。如果您有多个逻辑CPU,则可以立即运行一小部分,其余的则需要等待。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)