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