● Concurrency when we have many task, largely independent, and we use the same resource to do them at a time ● Parallelism is when we want to do one task, and we split up in multiple subtasks
A Thread is an independent path of execution that allows a program to operate more efficiently by doing multiple things at the same time. Threads can be used to perform complicated tasks in the background without interrupting the main program.