1. 程式人生 > >QThread使用的一個例子----多執行緒

QThread使用的一個例子----多執行緒

    class MyThread : public QThread {
    public:
        virtual void run();
    };

    void MyThread::
run()
    {
        for( int count = 0; count < 20; count++ ) {
            
sleep( 1 );
            
qDebug( "Ping!" );
        }
    }

    int main()
    {
        MyThread a;
        MyThread b;
        a.

start();
        b.
start();
        a.
wait();  //必須要新增的函式,此函式保證a.start()函式的執行!
        b.
wait();
    }
-----------------------------------------------------

這將會開始兩個執行緒,每個執行緒在螢幕上寫20次“Ping!”並且退出。在main()的結尾呼叫wait()是必需的,因為main()的結束會終結整個程式,它會殺掉所有其它執行緒。當每個MyThread執行到MyThread::run()結尾時,它就結束執行,就好像一個應用程式離開main()時所做的一樣。