title: do I need to parallelize or multithread my application
body: <p>I have some conceptual confusion regarding the terms <code>thread</code> and <code>core</code>, and how they relate to the programs that I write and execute on my home computer. Say I am running the following program on my machine, which a <a href="http://ark.intel.com/products/52210/Intel-Core-i5-2500K-Processor-6M-Cache-up-to-3_70-GHz" rel="nofollow">quad-core motherboard</a> with four threads</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  using namespace std;
  
  int main()
  {
      int long long num = 1E15;
      while(num--)
      {
          cout &lt;&lt; num &lt;&lt; endl;
      }
      return 0;
  }
  </code></pre>
  
  <p>If I want this program to utilize more than a single core, does my program need to support multithreading or does it need to be parallelized? Or will it be the same in my case, since my CPU has 1 thread per core?</p>