A thread of execution is a fundamental concept in computer science, representing the smallest sequence of programmed instructions that an operating system can manage and schedule independently. These "lightweight" units typically exist within a larger process, allowing multiple threads to execute concurrently and share the process's resources like memory and executable code, which differs from separate, isolated processes. The concept dates back to IBM's OS/360 in 1967, where it was called "tasks," with Victor A. Vyssotsky credited for coining the term "thread" in 1966. Threads gained widespread adoption in operating systems like Windows NT (1993) and became crucial in the early 2000s as multi-core CPUs emerged, enabling software to leverage parallelism for enhanced performance.