gpt4 book ai didi

multithreading - OS X 有哪些类型的线程?

转载 作者:行者123 更新时间:2023-12-04 06:42:29 26 4
gpt4 key购买 nike

内核级线程(如 Linux 和一些 *BSD 系统)还是其他?如果有任何区别,我正在使用 pthreads。

最佳答案

老问题,但可以使用更多细节和准确性:

XNU(OS X 和 iOS 内核)中的底层线程确实是 Mach 线程,但这些线程通常对用户模式隐藏。相反,在它们之上有 BSD 线程(也称为 uthread),它们更容易通过系统调用(例如 #360、bsdthread_create 和friends)访问。 PThreads 实际上进一步包装了这些线程。通过这种方式,对 pthread create 的调用落入系统调用 bsdthread_create,然后(在内核模式中)调用 thread_create。

可以从用户模式直接调用 Mach 调用(通过 Mach 接口(interface)生成器,/usr/include/mach/* 中的 MIG 生成文件)。这对于调试/跟踪/破解线程非常有用。但除此之外,对于所有类似于 UNIX 的意图,最好使用 pthreads 包装器,它(在大多数情况下)是可移植的。

关于multithreading - OS X 有哪些类型的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4466457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com