本文主要是介绍单核CPU——多线程运行时的误差产生,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文纯属本菜鸟的瞎琢磨,如果有误人子弟之嫌,请大声说出来~我会及时更正~
序言:
- 单核就是CPU集成了一个运算核心,在工作期间只能执行某一个程序,处理多个程序时,只能分时处理
- 线程的创建和自杀也是需要时间的,尽管时间几乎可以忽略不计
- 一个CPU同一时间运行一个线程。
- 处理多线程时,CPU会给每个线程分配一个时间段,时间一过自动切换到下一个线程
现象:
当demo1和demo2打印不同的两句话,有时候demo1在上有时候demo2在上,出现的时间看起来一样的
推理:
- demo1和demo2看似同时发生,实际上由系统决定在同一时刻先执行demo1还是先执行demo2
- 优先级相同情况下,demo1和demo2二选一
问题:
多线程共享全局变量,并对其进行修改时会发生什么样的现象呢?
情景1:······线程无需挂起······
这篇关于单核CPU——多线程运行时的误差产生的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!