gpt4 book ai didi

c++ - 同时运行两个函数

转载 作者:行者123 更新时间:2023-12-01 14:14:33 24 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

8年前关闭。




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接口(interface):
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;
}

关于c++ - 同时运行两个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21663555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com