質問

QThreadオブジェクトは、実行の単一スレッドを表します。しかし、作成したOSのスレッドがあるQThreadオブジェクトが作成されたとき、またはstart()メソッドが呼び出されたときに?

私は転がって、いくつかのQThreadオブジェクトを持つことができるかどうかに興味がある、とOSはstart()にスレッドを作成し、run()戻った後、それらを殺す、と、私はQThreadは再びオブジェクトを再利用することができます。しかし、私はQThreadオブジェクトが何もしていない間OSのリソースを保持する必要はありません。

(記録のために、私はQtConcurrentとQThreadPoolの意識だし、いや、彼らはこのような状況で私のニーズを満たしていない)

役に立ちましたか?

解決

Linuxでは、スレッドオブジェクトはpthread_create方法の間(QThread::start介して)作成されています。これは、Windowsとほぼ同じに見えます。

現在のページのソースを見ることができます:

UNIXの場合:ます。http:// QT。 gitorious.org/qt/qt/blobs/master/src/corelib/thread/qthread_unix.cppする(ライン542)。

Windowsの場合:ます。http:// QT。 gitorious.org/qt/qt/blobs/master/src/corelib/thread/qthread_win.cppする(ライン419)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top