我正在尝试学习如何使用QThread在线程之间共享数据。在下面的代码中,当我尝试打印worker_str的值时,有时会在文件qdebug.cpp中遇到异常:
QThread
worker_str
qdebug.cpp
Exception thrown: read access violation. **p** was 0x111011101110111.
有时它会将worker_str打印为""。我做错了什么?还有,我应该在不需要线程运行的时候调用thread->quit();吗?第一次
""
thread->quit();
q9rjltbz1#
关于代码:我认为对象“QString str”在离开构造函数作用域后就不在内存中了。一般看主题互斥锁,锁保护或qt信号/插槽。你最终使用什么取决于你的要求。
1条答案
按热度按时间q9rjltbz1#
关于代码:我认为对象“QString str”在离开构造函数作用域后就不在内存中了。
一般看主题互斥锁,锁保护或qt信号/插槽。你最终使用什么取决于你的要求。