多线程到底如何执行

形象点来说,就是这样。
比如说程序有两个线程,那么你就是手上有两个雪糕,
多线程执行的话就是,你左一口雪糕,右一口雪糕,轮着吃,
代码执行完了,你的雪糕吃完了,要是你的代码是带循环的,
你就会发现你的雪糕吃完又长出来了,要是死循环,就是怎么吃都吃不完= =
你只能一口一口吃雪糕,CPU也是这样,只能一段一段执行代码,
CPU的“时间片”概念就是这么个样子。
如果这两个线程优先级不一样呢,一个高一个低呢。
可以类比成你左边是个巧克力味,右边是个翔味的。
你当然更喜欢吃巧克力味的,就是左边两口,右边一口,当然你也可以换过来= =
如果你的CPU是双核的,你就可以理解你有两张嘴,当然两个头也是可以的= =
一般一个口会选一个雪糕来吃,一般不会出现中途吃一半又换过来的情况。

猜你喜欢

转载自blog.csdn.net/qq_40627648/article/details/85330834