title: OpenMP, multithreading or multiprocessing (C)?
body: <p>I'm having some trouble understanding how OpenMP works. I know that it executes tasks in parallel and that it's a multi-processing tool, but what does it mean? </p>
  
  <p>It uses 'threads' but at the same time it's a multi-processing tool? Aren't the two mutually exclusive, you use one method but not the other? Can you help explain which one it is?</p>
  
  <p>To clarify, I've only worked with multi-threading with POSIX pthreads. And that's totally different from multiprocessing with fork and exec and shared memory. </p>
  
  <p>Thank you.</p>