Closed. This question needs to be more focused。它当前不接受答案。
想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。
7年前关闭。
Improve this question
我有两个功能。我如何同时运行两个功能?我知道应该使用线程。
我需要一个多线程示例。我正在使用Visual Studio 2010
如果您可以使用C++ 11,则可以使用std::thread:
而且,如果您想深入了解金属,可以使用CreateThread api:
想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。
7年前关闭。
Improve this question
我有两个功能。我如何同时运行两个功能?我知道应该使用线程。
我需要一个多线程示例。我正在使用Visual Studio 2010
最佳答案
您可以使用_beginthread
void CalculatePrimes(void*)
{
// Do something
}
void TransmitFile(void*)
{
// Do domething
}
int main()
{
uintptr_ x = _beginthread(CalculatePrices,0,NULL);
uintptr_ y = _beginthread(TransmitFile,0,NULL);
return 0;
}
如果您可以使用C++ 11,则可以使用std::thread:
void CalculatePrimes()
{
// Do something
}
void TransmitFile()
{
// Do domething
}
int main()
{
std::thread x(CalculatePrices);
std::thread y(TransmitFile);
// Both function are now running an different thread
// We need to wait for them to finish
x.join();
y.join();
return 0;
}
而且,如果您想深入了解金属,可以使用CreateThread api:
DWORD WINAPI CalculatePrimes(void *)
{
// Do something
return 0;
}
DWORD WINAPI TransmitFile(void *)
{
// Do something
return 0;
}
int main()
{
HANDLE x=::CreateThread(NULL,0,CalculatePrimes,NULL,0,NULL);
HANDLE y=::CreateThread(NULL,0,CalculatePrimes,NULL,0,NULL);
// Wait for them to finish
::WaitForSingleObject(x,INFINITE);
::WaitForSingleObject(y,INFINITE);
return 0;
}
10-04 14:44