我正在尝试编写一个聊天客户端和服务器,客户端应该能够从服务器打印消息,同时也在控制台上写一些东西。
所以我创建了一个 pthread 来读取用户输入,主线程打印来自服务器的消息。但是,当我键入内容并收到消息时,我正在键入的文本会被推送到控制台上。我该如何解决?
例如: 我正在输入“abcdef”,然后当我从服务器收到消息时(但还没有完成输入),它看起来像这样:
abcdef[Chatuser1]:你好
最佳答案
在多线程程序中使用信号量或互斥量等同步技术来同步输入和输出
关于c - C 中的同时读写(stdin,stdout),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16385925/