Existe uma maneira de imprimir o ID do segmento atual no qual o método atual está sendo executado?
(objetivo-c, por favor)
iphone
objective-c
cocoa
multithreading
Alexi Groove
fonte
fonte
Respostas:
fonte
name
retorna descrição vazia, mesmo para o principal enumber
está longe de ser encontradaNSString *s = [NSString stringWithFormat:@"%@", [NSThread currentThread]]; int threadNum = -1; sscanf(s.UTF8String, "<NSThread: 0x%*12[0-9a-f]>{number = %d", &threadNum);
fonte
[NSThread currentThread]
método de classe retorna um objeto NSThread. Você pode registrar o endereço desse objeto de thread, mas como obter o ID numérico do thread, como o que é exibido no depurador do Xcode? (Thread 1 para o segmento principal, e um número crescente para cada segmento adicional que é criado pelo seu app.)No Swift 5
fonte
Na Swift
fonte
Na Swift4
print ("\ (Thread.current)")
fonte
você pode hackear algo assim (isso é bonito, mas você pode ir em frente e dividir até obter o número):
fonte