Подтвердить что ты не робот

Получение идентификатора потока текущего вызова метода

Есть ли способ распечатать текущий идентификатор потока, на котором выполняется текущий метод?

(objective-c пожалуйста)

4b9b3361

Ответ 1

NSLog(@"%@", [NSThread currentThread]);

Ответ 2

#include <pthread.h>
...
mach_port_t machTID = pthread_mach_thread_np(pthread_self());
NSLog(@"current thread: %x", machTID);

Ответ 3

В Swift3

print("Current thread \(Thread.current)")

Ответ 4

В Swift

print("Current thread \(NSThread.currentThread())")

Ответ 5

вы можете взломать что-то вроде этого (это просто печатает красиво, но вы можете продолжить и разделить, пока не получите номер):

+ (NSString *)getPrettyCurrentThreadDescription {
    NSString *raw = [NSString stringWithFormat:@"%@", [NSThread currentThread]];

    NSArray *firstSplit = [raw componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"{"]];
    if ([firstSplit count] > 1) {
        NSArray *secondSplit     = [firstSplit[1] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"}"]];
        if ([secondSplit count] > 0) {
            NSString *numberAndName = secondSplit[0];
            return numberAndName;
        }
    }

    return raw;
}