当多个处理器正在工作时,这些进程同时工作。当多个线程访问某些公共数据区域时会发生竞争条件,一个可能会覆盖另一个值。
因此,如果它是单处理器和单核环境,它能否防止竞争条件发生?
帮助我澄清这种困惑,谢谢。
答案 0 :(得分:3)
单处理器环境中可能会出现竞争情况。根据Wiki Race Condition发生在output is dependent on the sequence or timing of other uncontrollable events
单处理器环境可以支持不同进程的同一进程的多个线程,这些进程可能正在等待另一个线程在资源上产生。死锁也可能发生在单处理器环境中。
情景:
如果所有上述线程都在time=0
等待并提交给单个处理器,它将决定哪个线程先进,第二个等等。线程优先级和产生的顺序在不同的平台,场景等上有所不同。因此T2和T4可能不会给出一致的结果。