首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正在获取当前方法调用的线程id

正在获取当前方法调用的线程id
EN

Stack Overflow用户
提问于 2009-10-24 08:23:27
回答 4查看 60.7K关注 0票数 130

有没有一种方法可以打印出执行当前方法的当前线程id?

(请使用objective-c)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-24 10:13:18

NSLog(@"%@", [NSThread currentThread]);
票数 240
EN

Stack Overflow用户

发布于 2013-03-20 20:06:08

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

Stack Overflow用户

发布于 2014-10-30 02:51:19

你可以像这样破解一些东西(这只是打印得很漂亮,但你可以继续拆分,直到你得到数字):

+ (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;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1616572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档