Поток (или поток выполнения) — это легковесная единица выполнения, которая работает внутри процесса. Все потоки в пределах одного процесса делят между собой адресное пространство и ресурсы этого процесса, что позволяет им легко обмениваться данными и синхронизироваться.
Каждый поток имеет свой собственный стек, счетчик команд и набор регистров, но разделяет с другими потоками того же процесса кучу и глобальные переменные.