I am a mere astronomer, so this is quite probably an obvious question. Having no experience with parallel computing and hardly any with optimizing performance in general: my machine has four cores. If I ignorantly run my code, will all four be utilized automatically?
Chances are your code is not executed on all cores but just one. It depends if you code using a specific platform/library that already abstracts thread management.
Depending on the language, you want to have a look at specific libraries. But thread programming is a general subject you have to further explore before choosing any.