2016-03-20 1 views
2

QThreadのQtマニュアルによれば、quit()関数は現在のタスクが終了するのを待ってから、イベントループを終了します。 quit()wait()を適切に終了させた後、 は、QThreadの同じインスタンスをstart()で再度開始することができます。 コードは正常に動作しているようですが、再起動後にスレッドIDが変更されます。 これはドキュメントには言及されていません。すべての例では新しいThreadインスタンスが作成されているようですが、quitを呼び出さないので疑問に思っていました。quitを合法的かつ賢明に呼び出した後、QThreadを再起動していますか?

答えて

2

はい、スレッドが正常に停止していれば、スレッドを再開することはできます。

そして、これがthe docは、スレッドID(強調鉱山)についてこう言われる、

Qtの:: HANDLE QThread :: currentThreadIdは()

は、現在実行中のスレッドのスレッドハンドルを返します。

警告:この関数によって返されるハンドルは、 目的のために使用されます。であり、アプリケーションコードに使用しないでください。

スレッドIDの変更には注意しないでください。

関連する問題