在多线程进程中输入

时间:2017-12-12 17:07:28

标签: c++ multithreading networking

嘿,我现在正在学习网络和BSD套接字,我想创建一个群组聊天。因此,在创建多线程服务器(每个用户1个线程)后,我现在有一个问题。

所以基本上我的服务器就像这样工作。每个线程等待它的客户端发送按摩然后它发送给聊天中的所有其他用户。现在我想我必须使客户端程序2线程。一个线程将总是等待服务器按摩,另一个等待用户输入。

但它会起作用吗?如果我只是写第二个帖子cin>>按摩;一切都会好吗?

如果输入调度程序的中途决定将CPU提供给第一个线程,该怎么办?

1 个答案:

答案 0 :(得分:0)

你没有拥有来拥有一个多线程客户端。你可以,但这不是必需的。

查看select()poll(),了解您的套接字是否已准备就绪。对于单线程程序,只需准备好数据就可以交错读写,其余时间只需sleep()sched_yield()