C++ 多线程进程中的输入

C++ 多线程进程中的输入,c++,multithreading,networking,C++,Multithreading,Networking,嘿,我现在正在学习网络和BSD套接字,我想创建一个群组聊天。所以在创建一个多线程服务器(每个用户一个线程)之后,我现在有一个问题 因此,我的服务器基本上是这样工作的。每个线程等待其客户端发送消息,然后发送给聊天中的所有其他用户。现在我想我是否必须使客户端程序2线程化。一个线程将始终等待来自服务器的消息,另一个线程将等待用户输入 但它会起作用吗?如果我只写在第二个线程cin>>按摩;一切都好吗 如果我的输入调度器在运行到一半时决定将CPU分配给第一个线程,该怎么办。您不必拥有多线程客户端。您可以,

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

因此,我的服务器基本上是这样工作的。每个线程等待其客户端发送消息,然后发送给聊天中的所有其他用户。现在我想我是否必须使客户端程序2线程化。一个线程将始终等待来自服务器的消息,另一个线程将等待用户输入

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

如果我的输入调度器在运行到一半时决定将CPU分配给第一个线程,该怎么办。

您不必拥有多线程客户端。您可以,但这不是必需的


查看并查看您的套接字是否已准备好读取。对于单线程程序,只要在数据准备就绪和/或剩余时间内交替读写即可。

为什么不试试看呢?这是最好的学习方法。