当我在 C# 中运行冒泡排序、鸡尾酒排序和快速排序时,我可以看到所有 3 个内核都在我的 AMD X3 上使用(X4 附带 1 个损坏的内核)。
为什么会这样?我的算法是顺序的,我的代码没有任何线程标签。尤其是排序算法,它是一种高度顺序的算法,不,一个事件在下一个事件完成之前不会发生。它是如何拆分算法的?
例如应要求的冒泡排序:
public void BubbleSort()
{
for (int i = 1; i < amount; i++)
{
for (int j = 0; j < a; j++)
{
if (numbers[j] > numbers[j + 1])
{
t = numbers[j + 1];
numbers[j + 1] = numbers[j];
numbers[j] = t;
}
}
a--;
}
}