Skip to content
- Multiple cores are unnecessary for achieving concurrency. Using a single core with multiple threads – with context switching, we can create an illusion of parallel execution of multiple tasks to the end user. We can truly perform parallel execution with multiple cores.
- Concurrency can be achieved by using processes or threads.
- A process can have multiple threads, all executing at the same time.
- Multiple threads can run concurrently within the same process, while only one instance of a program can run at a time.