使用多线程来监听多个端口

时间:2015-08-14 15:20:27

标签: c++ multithreading

我正在编写一个cpp服务器项目。
在这个项目中,我需要监听多个端口。所以我正在考虑使用多线程。

我知道提升为我们提供了多线程,但我不确定它是否适合我的项目。

例如,我有五个端口可以收听,所以我尝试这样:

boost::thread thd1(&fun_listen_port5555);
boost::thread thd2(&fun_listen_port5556);
boost::thread thd3(&fun_listen_port5557);
boost::thread thd4(&fun_listen_port5558);
boost::thread thd5(&fun_listen_port5559);
thd1.join();
thd2.join();
thd3.join();
thd4.join();
thd5.join();

如果我喜欢这样,可能会丢失一些消息吗? 我可以遇到一些情况,例如thd2正在运行,而有些消息正在发送到thd3吗?在这些情况下,邮件会丢失吗?如果是这样,我该怎么办?如果没有,为什么?

0 个答案:

没有答案