【RAD統合環境】 Qt 総合スレ 13 【Win/Mac/Linux】
■ このスレッドは過去ログ倉庫に格納されています
0149デフォルトの名無しさん
2012/03/19(月) 17:12:32.26>run()で完結する処理ならexec()必要ないし。必要のないものが勝手に動くと駄目だろ。
その通りだと思う。シグナルとスロットを使わずにスレッドを使いたいだけならば、exec()
は不要でしょう。
>ざーと見てみたけど、signal受けるとQThreadのイベントハンドラが1回だけ呼び出されて
>対応する処理に移動するって感じがするんだけど。
>イベントループがずっと動いてるって確証は今のところ見当たらない。
run()でexec()を呼ぶとイベントループがずっと動いて、スレッド間でシグナルとスロットを
使うと、シグナルを送信するとイベントループに投げ込まれ、イベントループ経由でスロット
が呼び出されるという仕組み。
>>139
>http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
これを読んで、QThreadをstart()して、QObjectをmoveToThread()するのが正しく、
QThreadをサブクラス化するのがダメとみなしてはいけないと思います。
■ このスレッドは過去ログ倉庫に格納されています