Есть ли способ получить какой-либо идентификатор потока текущего текущего потока, не прибегая к Objective-C NSThread.
Я улучшаю нашу систему отслеживания отладки, чтобы правильно обрабатывать несколько потоков. Для каждой строки вывода трассировки я хотел бы напечатать идентификатор потока или имя потока. Темы создаются различными способами, например. используются функции NSOperationQueue и pthread.
В настоящее время у меня есть следующие две альтернативы, но я не удовлетворен ни одним из них. Есть ли другие варианты?
опция pthread_t
pthread_t
кажется типичным для конкретной платформы _opaque_pthread_h
. Было бы нормально использовать поля _opaque_pthread_h
пока, даже если он взломан и не переносится. Он имеет тип __sig
типа long, но, похоже, имеет одинаковое значение для всех потоков моего процесса.
Вариант NSThread
[NSThread name]
требует, чтобы NSAutoreleasePool
был на месте, но я не хочу, чтобы это было требованием, поскольку большая часть нашего кода является чистым С++, поэтому было бы неплохо запустить функцию С++ без обертки пула автозаполнения,