В .NET потоки работают в сущности под названием
AppDomain.
Вы порой будете слышать, что
AppDomain
аналогичен процессу Win32 в том, что он предлагает большинство тех же преимуществ, включая отказоустойчивость и возможность независимого запуска и останова потоков. Аналогия хороша, но не верна в том, что касается потоков. В Win32 поток "прикован" к единственному процессу, в чем вы могли убедиться выше при чтении раздела о переключении контекста. Поток одного процесса не может вызывать метод потока, принадлежащий другому процессу. Однако в .NET потоки могут пересекать границы
AppDomain,
а метод из одного потока может вызывать метод из другого
AppDomain.
Поэтому более удачное определение
AppDomain
звучит так: это логический процесс внутри физического процесса.