Ich möchte Threads durch eine einfache ID bei der Protokollierung identifizieren, so dass es einfach ist, die Ausführung eines einzelnen Threads zu verfolgen. Mit Windows mit der API GetCurrentThreadId()
kann erreichen, was ich will. In boost::thread
gibt es eine Methode get_id()
, aber das ist kein ganzzahliger Wert wie eine ganze Zahl. Dieses Objekt hat ein thread_data-Mitglied, das eine ID enthält, die zu sein scheint, was ich will, aber das Datenelement ist privat, so dass nicht darauf zugegriffen werden kann.Wie die Thread-ID aus einem boost :: thread abrufen?
Wie können Sie die Thread-ID für Anzeige- oder Identifikationszwecke aufrufen?
also als Parameter zu einer Funktion würde ich die boost :: thread :: id mit einem Output-Stream-Operator verwendet werden? Dies hört sich nahe an, außer wenn der Wert ohne Streams oder Stream-Operatoren verwendbar sein soll. – AJG85
mit boost :: this_thread :: get_id() aus der threads worker-funktion tatsächlich mit der sprintf_s stil formatierung ohne erforderliche parameter gearbeitet. – AJG85