A thread is a context of execution within a program. Multithreaded programming deals with designing a program to have parts of it execute concurrently.