0
RW documentationでは、rwThreadHashを使用してデバッグ用のthreadIdを取得することを推奨しますが、それでもスレッド上の実際のLinuxスレッドIDとは一致しません。どのようにそれを(どのようにポータブルな方法で必ずしも)取得するための任意のアイデア?RWThreadIdからlinuxのスレッドIDを取得するには?
cout << rwThreadHash(threadId()) << endl;
1477159840
私はpthread呼び出しを使用して*現在のtidを取得できることは知っていますが、問題は、実際に管理しているスレッドのRWThreadIdを返すライブラリを使用しているためです私はスレッドIDの1つのタイプから通常のLinuxベースのものに変換しようとしています。 – naumcho
pthread idとカーネルスレッドIDは、2つの異なるエンティティです。あなたは前者にアクセスしているように見えますが、前者にアクセスしたいと思っています。おそらくRogueWaveはスレッドで実行される関数/メソッドを指定する何らかの方法を提供します。そのメソッドにgettid()を入れて、カーネルIDを返すか、少なくともそれをログに表示する必要があります。スレッドが変更できないライブラリコードを実行していると言っている場合は、実際にSOLかもしれません。 – Duck