what is the difference between process thread and task?
A task is a set of program instructions that are loaded in memory. Short answer: A thread is a scheduling concept, it's what the CPU actually 'runs' (you don't run a process). A process needs at least one thread that the CPU/OS executes.