Threads allow concurrent execution through independent sequential paths. A thread is scheduled independently from other threads. Tasks are similar to processes but reduced in dimension and often share memory. Concurrency requires mechanisms for thread creation, synchronization, and communication. Parallel execution uses multiple CPUs while concurrent execution uses multiple threads through task switching on a single CPU.