我正在修改用Qt编写的大型项目,当某些请求到来时,会生成qthreads。每个线程都写一个QTcpSocket,它在主线程中创建并连接到服务器。
线程类具有对QTcpSocket的引用。当需要写入它时,套接字写入数据并调用waitForBytesWritten然后返回。
然后线程等待一个条件,直到从套接字发出readyRead信号。
套接字上的访问受互斥锁保护。
对我来说问题是我看到很多" QSocketNotifier:无法从另一个线程启用或禁用套接字通知程序"警告。这是因为我从另一个线程写入套接字(套接字已在主线程中创建)。
我知道最好的解决方案应该是使用信号和插槽进行写入和读取,但不幸的是项目非常复杂,我没有时间改变这种行为。
我该怎么办?