Qt
のWindows環境でqDebug()
を使用してスレッドIDを印刷するにはどうすればいいですか?QtのスレッドID
答えて
私はあなたが現在実行中のスレッド(およびない特定のQThreadオブジェクトのスレッドID)のスレッドIDをしたいと仮定しています:考慮すべき
qDebug() << QThread::currentThreadId();
物事は:メソッドは、(プラットフォーム固有のIDを返しますdocsを確認してください)。ウインドウでは、このIDをWin32 API関数で使用することはできません。実際のスレッドIDではなく擬似IDを返すためです。
アプリケーションがWindowsでのみ実行され、スレッドIDでわかりやすいものを実行する必要がある場合は、GetCurrentThreadId()を使用した方が最適でしょう。
通常、アプリケーションは実行時にコマンドラインから「デタッチ」されます。追加すると、アプリケーションはコマンドプロンプトをブロックし、qDebugステートメントを表示します。
win32:CONFIG+=console
実行しているスレッド内から
QThreadの実装がpthreadsのですので、あなたは(あなたが使用可能なIDをしたいと仮定I "m)を使用することができます
pthread_t = pthread_self();
。
QThreadから返された値:: currentThreadId()は移植性がありません。
あなたが意味するもの:http://doc.qt.nokia.com/4.7/qthread.html#currentThreadId – mbx
-1 QtでスレッドIDを取得する方法を質問するので、 Qtは複数のプラットフォームをサポートしています。 –
- 1. Perl Qt 3.1とスレッド
- 2. Qtシグナル/スロットとスレッド
- 3. スレッドのID
- 4. スレッドIDスレッド名から
- 5. Qtでスレッドを集める
- 6. Qt Main-Guiと他のスレッド+イベントループ
- 7. ApplicationPool ID、匿名ID、ProcessModel ID、偽装ID、およびスレッドIDの相違
- 8. Qtライブラリで検出されたGUIスレッド
- 9. Qtを使って同時実行スレッド
- 10. (... ID、UUID、タイトル)私はスレッドを持つスレッドモデルを、持っているスレッド/ ID /から/スレッド/ UUID
- 11. StackOverflowおよびプロセスシャットダウン後のWindbgスレッドID
- 12. ブースト::スレッドからスレッドIDを取得するには?
- 13. スレッドIDとプロセスIDは一意ですか?
- 14. Qtの複数のスレッドからの描画
- 15. アンドロイド:java.lang.IllegalArgumentExceptionが:悪い会話スレッドID:15555215554
- 16. Qt信号とスロットのスレッドの安全性
- 17. Qtのシグナルとスロット、スレッド、(app.exec)、および関連するクエリ
- 18. Qtの異なるスレッドでオブジェクトを同期する
- 19. Qtモデル - 別のスレッドでデータとモデルを表示
- 20. Qt - メインウィンドウを第2のスレッドで更新しています
- 21. QtのGUIスレッドに優先度を設定する
- 22. Qtで別のプロセスやスレッドを実行する
- 23. Qtスレッド間で大量のデータを送信する
- 24. プロデューサ/コンシューマデザイン - Qtのスレッド間でキュー変数を共有
- 25. マルチスレッドプロセスのstrace出力でスレッドのスレッドIDを取得できますか?
- 26. スレッドプール内のスレッドのスレッドIDをスレッド処理メソッドの外側から取得する
- 27. Qtインスタンス毎にIDの変更があります
- 28. ゆっくりとシリアル接続がQT GUIスレッドをフリーズ
- 29. 長時間実行するQtスレッドを終了するには
- 30. スレッドIDに基づいてスレッドをロックする方法はありますか?
これは正しいですか?currentThreadId()はハンドルを返します(http://qt-project.org/doc/qt-4.8/qthread.html#currentThread)。おそらくそれが呼び出されるたびに異なるでしょう。あなたはQThread :: cur代わりにrentThread()、スレッドのデータ構造へのポインタですか? –