CreateThread против PsCreateSystemThread — Какая разница?

Я хотел бы спросить, каковы различия между PsCreateSystemThread а также CreateThread, Из описания MSDN кажется, что PsCreateSystemThread для ядра темы.

CreateThread кажутся потоком ядра, но разделяют одну и ту же виртуальную память с процессом. Это означает, что у меня может быть много потоков, работающих вместе, но я не могу получить доступ к другому пространству памяти процесса.

0

Решение

CreateThread создает поток для выполнения в виртуальном адресном пространстве вызывающего процесса, в то время как PsCreateSystemThread создает системный поток, который выполняется в режиме ядра и возвращает дескриптор для потока.

2

Другие решения

CreateThread создает поток пользовательского режима, который работает в адресном пространстве процесса. Это не имеет ничего общего с ядром. Этому API около 20 лет.

PsCreateSystemThread создает поток ядра.

1