2010-12-16 8 views

ответ

1

Это Mach threads.

+0

И на английском языке: http://books.google.com/books?id=K8vUkpOXhN4C&pg=PA730&dq=OSX+pthread_create&hl=en&ei=xK8KTbnZPIT78AaVqrCfAQ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCMQ6AEwAA#v=onepage&q&f=false – 2010-12-17 00:33:21

4

Старый вопрос, но могли бы использовать некоторые более подробно и точность:

Основополагающие потоки в XNU (ОС X и IOS ядра) действительно Mach потоки, но они, как правило, скрыты от пользовательского режима. Вместо них есть потоки BSD (также называемые uthreads), которые более доступны через системные вызовы (например, # 360, bsdthread_create и друзей). PThreads фактически дополнительно обертывают эти потоки. Таким образом, вызов pthread create попадает в системный вызов bsdthread_create, который, в свою очередь (в режиме ядра) вызывает thread_create.

Мах звонит может вызываться непосредственно из пользовательского режима (через генератор интерфейса Mach, созданные MIG-файлы в/usr/include/mach/*). Это происходит в очень, полезно для отладки/трассировки/взлома потоков. Но в остальном, для всех, как UNIX-подобных, вам лучше с обложкой pthreads, которая (по большей части) переносима.