1 readthread read_thread;
2 read_thread.start();
3 read_thread.wait();
4 QMessagebox语句;
我想问问大家,主线程创建了新线程以后,是不是马上去做别的事情了呢?
就像上面这样的一个创建新线程的例子:
若果在主线程中创建了read_thread这样一个线程去执行,然后让子线程去等待自己的结束(这里read_thread.wait()是子线程自己等待还是主线程在这里等待呢?),这个过程可能很长。
那么子线程一旦开始以后,语句(4 Qmessagebox语句;)是不是和read_thread.run()同时执行的啊?也就是说,在这个例子里面read_thread.run()和主界面显示QMessagebox信息时同时出现呢?
我的情况就是,执行了语句123后,可以看到子线程启动了它的工作,但是语句4的qmessagebox一直没有出现。主界面也冻结了。感觉主线程也被阻塞了一样。(子线程里设置有有阻塞)。