Czy istnieje sposób na wydrukowanie bieżącego identyfikatora wątku, na którym jest wykonywana bieżąca metoda?
(proszę o obiektyw-c)
iphone
objective-c
cocoa
multithreading
Alexi Groove
źródło
źródło
Odpowiedzi:
źródło
name
zwraca pusty opis nawet dla main inumber
nigdzie go nie maNSString *s = [NSString stringWithFormat:@"%@", [NSThread currentThread]]; int threadNum = -1; sscanf(s.UTF8String, "<NSThread: 0x%*12[0-9a-f]>{number = %d", &threadNum);
źródło
[NSThread currentThread]
klasy zwraca obiekt NSThread. Możesz zarejestrować adres tego obiektu wątku, ale jak uzyskać numeryczny identyfikator wątku, taki jak to, co jest wyświetlane w debugerze Xcode? (Wątek 1 dla głównego wątku i rosnące liczby dla każdego dodatkowego wątku utworzonego przez Twoją aplikację.)W Swift 5
źródło
W Swift
źródło
W Swift4
print ("\ (Thread.current)")
źródło
możesz coś takiego zhakować (to po prostu drukuje, ale możesz iść dalej i dzielić, aż uzyskasz numer):
źródło