diff --git a/Languages/cpp/关于Qt的问题.txt b/Languages/cpp/关于Qt的问题.txt new file mode 100644 index 0000000..f3b9c09 --- /dev/null +++ b/Languages/cpp/关于Qt的问题.txt @@ -0,0 +1,13 @@ +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线程。 \ No newline at end of file