gpt4 book ai didi

C++一次运行2个进程

转载 作者:太空狗 更新时间:2023-10-29 21:26:18 25 4
gpt4 key购买 nike

关于一次运行 2 个进程的 C++ 问题。

我有一个客户端-服务器模型类型的 C++ 代码。我的服务器将为来自客户端的每个连接 fork 。这是一个也有提醒模块的系统。这个提醒模块需要在比方说从 1000 倒数到 0 时发送电子邮件:当倒数到 0 时,它将执行其代码。

但是我的服务器已经在 while(1) 循环中运行了。我如何在不影响监听连接的服务器的情况下一起调用这个提醒?

感谢所有帮助和建议。

最佳答案

您正在寻找通常称为线程的东西。下面是一个使用 Boost.Thread 的例子:

#include <iostream>  
#include <boost/thread.hpp>
#include <boost/date_time.hpp>

bool worker_running = true;

void workerFunc() {
while (worker_running) {
boost::posix_time::seconds workTime(3);

// do something

boost::this_thread::sleep(workTime);
}
}

int main(int argc, char* argv[])
{
//before your while loop:

boost::thread workerThread(workerFunc);

//while loop here

worker_running = false;
workerThread.join();

return 0;
}

关于C++一次运行2个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12041363/

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