C++ 哪些特定于windows的低级函数用于在windows中实现std::thread/boost::thread/pthread?
我想知道哪些特定于windows的低级函数用于在windows中实现std::thread/boost::thread/pthread? 谢谢,Win32 API是在Windows上启动线程的核心函数 您需要了解的关于Windows中线程API的大部分信息都可以找到。Win32 API是在Windows上启动线程的核心功能 您需要了解的关于Windows中线程API的大部分信息都可以找到。C++ 哪些特定于windows的低级函数用于在windows中实现std::thread/boost::thread/pthread?,c++,multithreading,pthreads,std,C++,Multithreading,Pthreads,Std,我想知道哪些特定于windows的低级函数用于在windows中实现std::thread/boost::thread/pthread? 谢谢,Win32 API是在Windows上启动线程的核心函数 您需要了解的关于Windows中线程API的大部分信息都可以找到。Win32 API是在Windows上启动线程的核心功能 您需要了解的关于Windows中线程API的大部分信息都可以找到。 内联uintpttr\u t\u beginthreadex(void*安全性、无符号堆栈大小、无符号(\
内联uintpttr\u t\u beginthreadex(void*安全性、无符号堆栈大小、无符号(\u stdcall*起始地址)(void*),
void*arglist,unsigned initflag,unsigned*thrdaddr)
{
德沃德·特莱德;
ThreadProxyData*data=新的ThreadProxyData(起始地址,arglist);
HANDLE hthread=CreateThread(静态转换(安全)、堆栈大小、线程代理、,
数据、initflag和threadID);
if(hthread==0){
删除数据;
返回0;
}
*thrdaddr=线程ID;
返回reinterpret_cast(hthread);
}
内联uintpttr\u t\u beginthreadex(void*安全性、无符号堆栈大小、无符号(\u stdcall*起始地址)(void*),
void*arglist,unsigned initflag,unsigned*thrdaddr)
{
德沃德·特莱德;
ThreadProxyData*data=新的ThreadProxyData(起始地址,arglist);
HANDLE hthread=CreateThread(静态转换(安全)、堆栈大小、线程代理、,
数据、initflag和threadID);
if(hthread==0){
删除数据;
返回0;
}
*thrdaddr=线程ID;
返回reinterpret_cast(hthread);
}
好吧,看看它的实现,它是开源的。你能详细说明一下吗。我对这个领域太陌生了。你可以下载boost
源代码并检查它吗?你到底想让我解释什么?@πάνταῥεῖ “如果有那么多无人机会帮你查找,为什么还要麻烦自己去查找呢?”MartinJames-Well,讽刺影响。好吧,看看实现,它是开源的。你能详细说明一下吗。我对这个领域太陌生了。你可以下载boost
源代码并检查它吗?你到底想让我解释什么?@πάνταῥεῖ “如果有那么多无人机会帮你查找,为什么还要费心自己去查找呢?”MartinJames,“嗯,讽刺的影响。我相信会有更微妙的实施细节。我相信会有更微妙的实施细节。
inline uintptr_t _beginthreadex(void* security, unsigned stack_size, unsigned (__stdcall* start_address)(void*),
void* arglist, unsigned initflag, unsigned* thrdaddr)
{
DWORD threadID;
ThreadProxyData* data = new ThreadProxyData(start_address,arglist);
HANDLE hthread=CreateThread(static_cast<LPSECURITY_ATTRIBUTES>(security),stack_size,ThreadProxy,
data,initflag,&threadID);
if (hthread==0) {
delete data;
return 0;
}
*thrdaddr=threadID;
return reinterpret_cast<uintptr_t const>(hthread);
}