关于一次运行2个进程的C ++问题。
我有一个客户端 - 服务器模型的C ++代码。我的服务器将为客户端的每个连接分叉。这是一个还有一个提醒模块的系统。这个提醒模块需要发送一封电子邮件,比方说它从1000倒数到0:当它达到0时,它将执行它的代码。
但是我的服务器已经在while(1)循环中运行了。如何在不影响服务器监听连接的情况下一起调用此提醒事项?
感谢您的所有帮助和建议。
答案 0 :(得分:3)
您正在寻找通常所知的线程。 以下是使用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;
}