可能听上去比较拗口,其实就是小弟最近学习多线程,GUI中有按钮,需要在点击按钮后向子线程中发送一段字符串,我遇到的问题是如何找到需要接受这段字符串的子线程,我自作聪明定义了一个
Thread testThread;
QMap<int,Thread> childThreadMap;
但是编译时一直报错,错误信息为:error C2248: 'QObject::operator =' : cannot access private member declared in class 'QObject'
我估计是在创建Thread实例时,有副本传给了QMap,所以导致了“=”操作符错误,我现在把有关容器的代码都注释掉,是可以通过编译的。
*******************************************************************************************
子线程的功能:一直forever循环,直到有字符串插入时才对字符串处理,然后msleep(200);,继续循环。
我想请教:如何在程序运行时找到自己想找到的那个子线程呢?而且我会往子线程中插入字符串,由于没有公共资源,我没有采用锁机制,不知道那样会不会破坏线程的工作机制,导致程序混乱?