模拟器上具有单核的多线程

时间:2014-04-22 17:08:06

标签: multithreading ubuntu emulation core

英语不是我的母语,所以我为任何不恰当的用法道歉。

我正在学习多线程程序,所以(在我的笔记本电脑上使用Windows8 HyperV)我用一个核心处理器模拟了Ubuntu12.04.4(在我的笔记本电脑中我有两个,几乎是四个)。 (处理器:Intel(R)Core(TM)i5-3210M CPU @ 2.50GHz || RAM:6,00 GB ||系统:Windows 8 64位)

经过几个小时的搜索论坛和教程后,我开始测试一些代码,但发现线程没有按正确的顺序执行。

代码:http://pastebin.com/AX2wTxZ2

输出:http://i.imgur.com/h8axGHs.png

问题 - 这个问题可能与单核或仿真有关,或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

你没有做错任何事。你看到这样结果的原因是因为......好吧,因为那是怎么回事。由于两个线程并行运行,因此存在竞争条件。您无法做到这一点,因为您无法控制线程的顺序(它取决于操作系统)。

尝试几次运行代码,您应该不时看到相反的结果。