|
|
От: | MakcMN | |
| Дата: | 03.06.08 18:44 | ||
| Оценка: | |||
#include <cstddef>
#include <cassert>
#include <tchar.h>
#include <windows.h>
DWORD WINAPI thread_proc(LPVOID parameter)
{
OutputDebugString(_T("thread_proc begin\n"));
for (;;)
;
OutputDebugString(_T("thread_proc end\n"));
}
void create_thread()
{
OutputDebugString(_T("create_thread begin\n"));
HANDLE thread_handle = CreateThread(NULL, 0,
thread_proc, 0, CREATE_SUSPENDED, NULL);
assert(thread_handle != NULL);
SetThreadPriority(thread_handle, THREAD_PRIORITY_ABOVE_NORMAL);
ResumeThread(thread_handle);
OutputDebugString(_T("create_thread end\n"));
}
int main()
{
// Убираем динамическое повышение приоритетов для потоков процесса
SetProcessPriorityBoost(GetCurrentProcess(), TRUE);
// Разрешаем исполнять потоки процесса только на одном процессоре
SetProcessAffinityMask(GetCurrentProcess(), 1);
// Применяем настройки
Sleep(0);
create_thread();
return 0;
}create_thread begin
thread_proc begin
create_thread end
Основная нить:
текущий 8
базовый 8
Дополнительная нить:
ещё нет Основная нить:
текущий 15
базовый 8
Дополнительная нить:
текущий 9
базовый 9