Когда поток завершает свою работу, выход из него может быть осуществлен за счет вызова библиотечной процедуры, к примеру thread_exit. После этого он прекращает свое существование и больше не фигурирует в работе планировщика. В некоторых использующих потоки системах какой-нибудь поток для осуществления выхода может ожидать выхода из какого-нибудь другого (указанного) потока после вызова процедуры, к примеру threadJoin. Эта процедура блокирует вызывающий поток до тех пор, пока не будет осуществлен выход из другого (указанного) потока. В этом отношении создание и завершение работы потока очень похоже на создание и завершение работы процесса, при использовании примерно одних и тех же параметров.