C++;一次运行2个进程 一次运行2个进程的C++问题。< /P> 我有一个客户端-服务器模型的C++代码。我的服务器将为来自客户端的每个连接分叉。这是一个还具有提醒模块的系统。这个提醒模块需要在从1000倒计时到0时发送一封电子邮件:当它达到0时,它将执行其代码
但是我的服务器已经在一个while(1)循环中运行。如何在不影响服务器侦听连接的情况下同时调用此提醒C++;一次运行2个进程 一次运行2个进程的C++问题。< /P> 我有一个客户端-服务器模型的C++代码。我的服务器将为来自客户端的每个连接分叉。这是一个还具有提醒模块的系统。这个提醒模块需要在从1000倒计时到0时发送一封电子邮件:当它达到0时,它将执行其代码,c++,C++,但是我的服务器已经在一个while(1)循环中运行。如何在不影响服务器侦听连接的情况下同时调用此提醒 感谢所有的帮助和建议。您正在寻找通常称为线程的内容。 下面是一个使用Boost.Thread的示例: #include <iostream> #include <boost/thread.hpp> #include <boost/date_time.hpp> bool worker_running = true; void workerFunc
感谢所有的帮助和建议。您正在寻找通常称为线程的内容。 下面是一个使用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;
}
#包括
#包括
#包括
bool worker_running=真;
void workerFunc(){
当(工人_运行时){
boost::posix_time::秒工作时间(3);
//做点什么
boost::此线程::睡眠(工作时间);
}
}
int main(int argc,char*argv[])
{
//在while循环之前:
线程workerThread(workerFunc);
//在这里循环
worker_running=false;
workerThread.join();
返回0;
}
我还建议您阅读boost文档^ ^@CountMurphy:Shoot,完全忘了添加链接。您不需要两个进程,您需要两个线程,了解进程和线程之间的区别,一个进程可以有多个线程,如果您可以不使用额外的线程,请不要使用更复杂的解决方案,需要进程间通信什么的