서버 제작

서버 제작 튜터링

hajin1209 2024. 5. 30. 22:17

쓰레드 관리

더보기

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <process.h>
#include <thread>

//Create Thread
DWORD WINAPI forCreateThread(LPVOID lpParameter)
{
    for (int i = 0; i < 10000; i++)
    {
        printf("For CreateThread #%d\n", i);
    }

    return 0;
}

// _beginthreadex
UINT    WINAPI forBeginThreadEx(void* arg)
{
    for (int i = 0; i < 10000; i++)
    {
        printf("For _beginthreadex #%d\n", i);
    }

    return 0;
}

// 객체 thread
using std::thread;

void forThreadObject()
{
    for (int i = 0; i < 10000; i++)
    {
        printf("For thread object #%d\n", i);
    }
}

BOOL SetThreadPtiority(
    HANDLE hTread,
    int nPriority
);

int main()
{
    DWORD    dwThreadD1;
    UINT        dwThreadD2;

    HANDLE hThread1 = CreateThread(NULL, 0, forCreateThread, NULL, 0, &dwThreadD1);
    HANDLE hThread2 = (HANDLE)_beginthreadex(NULL, 0, forBeginThreadEx, NULL, 0, &dwThreadD2);
    SetThreadPriority(hThread2, THREAD_PRIORITY_TIME_CRITICAL);
    thread threadobject(forThreadObject);
    threadobject.join();

    DWORD WaitForSingleObject(
        HANDLE hHANDLE,
        DWORD dwMilliseconds
    );

    return 1;
}

'서버 제작' 카테고리의 다른 글

서버 튜터링  (0) 2024.06.28