如何记录iOS应用程序中正在运行的线程数?

时间:2013-10-23 11:37:10

标签: ios concurrency nsthread sigabrt

由于我的应用程序中存在大量线程而导致SIGABRT。 我需要记录我的iOS应用程序中当前运行的线程数。 我不想使用探查器和断点。

1 个答案:

答案 0 :(得分:1)

试试吧 http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_threads.html

    #import <mach/mach_types.h>
    #import <mach/mach_traps.h>
    #import <mach/mach.h>
    thread_act_array_t threads;
    mach_msg_type_number_t thread_count;
    task_t self = mach_task_self();

    /* Get a list of all threads */
    if (task_threads(self, &threads, &thread_count) == KERN_SUCCESS) {
        //thread_count should be populated.
    }

此外,您还必须对其中一些进行内存管理。