well we in these days use multi-core processors like core i3 or i5 or i7 of intel rather than single core processors like Intel Pentium4 670
—for brevity of this article
core i3-has two cores and hyper-threading
core i7-all core i7 models will have hyper-threading and it may have from 2 cores to 8 cores
In traditional single core processors only one process could have been exceuted at once by that processor but in multi-core processors (core implies a single processor) the situation is different.
In operating System we have the concept of Threads and Process.
In simple terms — A process will have many Threads.
So even in multi core processors there is no possibility for multiple process to be executed simultaneously but multiple threads of a single process can be executed simultaneously on cores(processors)
Most operating systems will allow threads to run simultaneously on separate processors/cores. Since processes can have more than one thread, they can run on more than one core.
race condition ,,resource starvation etc.. can arise so synchronization must be taken into account