关于一次运行 2 个进程的 C++ 问题。
我有一个客户端-服务器模型类型的 C++ 代码。我的服务器将为来自客户端的每个连接分叉。这是一个也有提醒模块的系统。这个提醒模块需要在从 1000 倒计时到 0 时发送一封电子邮件:当它到达 0 时,它将执行其代码。
但是我的服务器已经在 while(1) 循环中运行。如何在不影响服务器监听连接的情况下一起调用这个提醒?
感谢所有帮助和建议。
关于一次运行 2 个进程的 C++ 问题。
我有一个客户端-服务器模型类型的 C++ 代码。我的服务器将为来自客户端的每个连接分叉。这是一个也有提醒模块的系统。这个提醒模块需要在从 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;
}