title: Why are multiple cores engaged on sequential algorithms?
body: <p>When I run bubblesorts, cocktailsorts and quicksorts in C#, I can see that all 3 cores are engaged on my AMD X3 (X4 shipped with 1 broken core).</p>
  
  <p>Why is this happening? My algorithm is sequential and my code doesn't have any thread tags. Especially something like sorting algorithms which is a highly sequential algorithm no, one event can't happen until the next is completed. How does it manage to split up the algorithm?</p>
  
  <p>The bubblesort for example on request:</p>
  
  <pre><code> public void BubbleSort()
      {
          for (int i = 1; i &lt; amount; i++)
          {
  
              for (int j = 0; j &lt; a; j++)
              {
                  if (numbers[j] &gt; numbers[j + 1])
                  {
                      t = numbers[j + 1];
                      numbers[j + 1] = numbers[j];
                      numbers[j] = t;
                  }
               }
            a--;
          }
  
      }
  </code></pre>