Python 线程模块创建用户空间线程或内核规范线程

use*_*758 5 python

我试图threading在Python中使用该模块。现在我有一个关于该模块支持的线程类型的查询。即这些线程是用户空间线程还是内核空间线程

mya*_*aut 6

正确的术语不是内核空间线程(因为Python无法访问内核内存空间),而是内核级线程threading模块使用系统提供的机制(例如pthread在 POSIX 系统上),这些机制通常依赖于内核接口(通过clone(CLONE_THREAD)Linux 上创建任务)。

Python 通过生成器、greenlet 和类似的库支持用户级线程(那些纯粹在解释器中实现且仅占用一个内核级线程的线程)。


joh*_*hn -1

简答用户空间线程。根据我对系统的了解,进程(或线程)不是用户级或内核级的长答案。

一些关键任务不能被用户直接访问,例如内存和IO。要使用这些,resources内核将公开API's. 这些 API 最好称为system calls. 所以你的线程可能会在你的程序中使用它们system calls。但你不能只产生内核线程