生成文章|

IOCP代码

2017-8-10 22:39
90
INT CreateIOCPWorkerThread(int nThread)
{
        DWORD        dwThreadID;
        if (g_hIOCP != INVALID_HANDLE_VALUE)
        {
                InsertLogMsg(_T("Create IOCP Worker Thread..."));
                SYSTEM_INFO SystemInfo;

                if ((g_hIOCP = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0)) == NULL)
                        return -1;

                GetSystemInfo(&SystemInfo);

                for (UINT i = 0; i < SystemInfo.dwNumberOfProcessors * nThread; i++)
                {
                        HANDLE ThreadHandle;

                        //if ((ThreadHandle = CreateThread(NULL, 0, ServerWorkerThread, g_hIOCP, 0, &dwThreadID)) == NULL)
                        //        return -1;
                        if ((ThreadHandle = (HANDLE) _beginthreadex(NULL, 0, (ThreadStartRoutine) ServerWorkerThread, g_hIOCP, 0, (UINT *) &dwThreadID)) == NULL )
                                return -1;

                        CloseHandle(ThreadHandle);
                }

                return SystemInfo.dwNumberOfProcessors * nThread;
        }

        return -1;
}
#endif

收藏
0 条回帖
需要登陆后才可进行回复 登录

返回顶部
现在加入我们,注册一个账号 账号登陆 QQ账号登陆 微博账号登陆

微信扫一扫,马上找工作

在线客服