一个c语言多线程的有关问题
一个c语言多线程的问题
在Linux上写了一个c语言聊天的小程序。客户端有两个线程,一个接受并处理客户端的输入,另一个接受服务器端发来的信息。但是有个问题,有时客户端正在输入的时候,第二个线程就在终端输出了服务器端发来的信息。虽说这时候接着输入也不会出错,但是看上去很乱。
问题是,怎么才能在客户端正在终端输入的过程中,不让第二个线程输出服务器端来的消息。只有客户端没有正在输入时,第二个线程才能输出呢?
help
------解决方案--------------------
像qq那种应该有两个界面,一个用户正在输入界面和一个多用户聊天的界面。
基于你的思路,最好两个线程之间进行同步,加锁就可以。
------解决方案--------------------
用互斥来实现,pthread_mutex可以用,接收服务器的线程想在终端输出时先lock。
在Linux上写了一个c语言聊天的小程序。客户端有两个线程,一个接受并处理客户端的输入,另一个接受服务器端发来的信息。但是有个问题,有时客户端正在输入的时候,第二个线程就在终端输出了服务器端发来的信息。虽说这时候接着输入也不会出错,但是看上去很乱。
问题是,怎么才能在客户端正在终端输入的过程中,不让第二个线程输出服务器端来的消息。只有客户端没有正在输入时,第二个线程才能输出呢?
help
------解决方案--------------------
像qq那种应该有两个界面,一个用户正在输入界面和一个多用户聊天的界面。
基于你的思路,最好两个线程之间进行同步,加锁就可以。
------解决方案--------------------
用互斥来实现,pthread_mutex可以用,接收服务器的线程想在终端输出时先lock。