问题产生原因,系统创建了一个socket在主线程,自己单独开了一个线程,我在单独开的线程里调用这个socket,报错。
解决办法1:直接在线程里实例化这个socket而不是调用其他线程的socket。
解决办法2:利用connect建立信号与槽通知另一个线程处理。线程A肯定是不能直接调用线程B的函数的,但是可以通过emit 发送,线程B通过槽函数收到然后帮A调用这个函数。
原因分析:当一个线程正常执行时,代码逻辑顺序固定,突然另一个线程告诉你需要处理某种操作,这个线程会瞬间错乱崩溃,并且,原线程可能正在访控制资源。所以不同线程之间都是独立按顺序运行代码。如果希望线程间通信那还需要类似于管道、消息队列一类的方式进行。
文章探讨了主线程创建socket并在子线程中调用引发的错误。解决方法包括在线程内实例化socket和使用信号槽机制进行线程间通信,避免线程同步混乱。原因在于不同线程需独立执行,防止资源冲突。
8207

被折叠的 条评论
为什么被折叠?



