A thread is a sequence of programmed instructions that can be managed independently by a scheduler, enabling concurrent execution within a process. Threads share the same memory space, allowing efficient communication and resource sharing while minimizing overhead compared to separate processes.