Files
yunNote/Languages/cpp/关于Qt的问题.txt

13 lines
585 B
Plaintext
Raw Permalink Normal View History

2026-04-03 17:28:40 +08:00
1.关于Qt的线程,子线程与父线程的关系。
关键点:
(1)假如一个对象A,一个对象b = B(A* a);
把A对象在B构造时传入,B后续线程开启后(注意这里,开启B的线程前A都属于构造B的线程),
开启B线程前,你是没办法把A移动到B所属线程的,
也就是
A* a;
workTh = new QThread();
b = B(a);
b->moveToThread(workTh);
a->moveToThread(workTh);
workTh->start(); 看上去是移动了,实际没有。
因为workTh->start()之前B线程都没开启,此时不存在B线程,无从谈起moveToThread到B线程。