Gibt es eine Möglichkeit, die aktuelle Thread-ID auszudrucken, auf der die aktuelle Methode ausgeführt wird?
(Ziel-c bitte)
iphone
objective-c
cocoa
multithreading
Alexi Groove
quelle
quelle
Antworten:
quelle
name
gibt leere Beschreibung auch für main zurück undnumber
ist nirgends zu findenNSString *s = [NSString stringWithFormat:@"%@", [NSThread currentThread]]; int threadNum = -1; sscanf(s.UTF8String, "<NSThread: 0x%*12[0-9a-f]>{number = %d", &threadNum);
quelle
[NSThread currentThread]
Klassenmethode gibt ein NSThread-Objekt zurück. Sie können die Adresse dieses Thread-Objekts protokollieren, aber wie erhalten Sie die numerische Thread-ID, wie sie im Xcode-Debugger angezeigt wird? (Thread 1 für den Haupt-Thread und zunehmende Anzahl für jeden zusätzlichen Thread, der von Ihrer App erstellt wurde.)In Swift 5
quelle
In Swift
quelle
In Swift4
print ("\ (Thread.current)")
quelle
Sie können so etwas hacken (dies wird nur hübsch gedruckt, aber Sie können fortfahren und teilen, bis Sie die Nummer erhalten):
quelle