Qt 主线程阻塞导致所有信号槽均阻塞,用什么方法可以解决这个问题呢?
用Qt写的基于对话框的tcp程序,分三个线程,负责界面显示主线程、负责tcp接收及报文处理的接收线程以及负责tcp发送的发送线程,程序的执行流程大概是这样的:接收线程收到报文对报文进行解析并组织返回包,处理完毕以信号槽的方式将报文传递给发送线程进行发送,现在的问题是当我鼠标左键长时间单击对话框的关闭按钮时会导致主线程阻塞,而此时接收线程和发送线程之间的信号槽也阻塞了,即接收线程无法将信号发送到发送线程,请问各位用什么办法可以避免这种矛盾的产生呢?另外,界面初始化时也会造成返回报文丢失的情况。