我试图在Python中使用threading
模块。现在,我对该模块支持的线程类型有了此查询。那就是这些线程是用户空间线程还是内核空间线程
正确的术语不是内核空间线程(因为Python无法访问内核内存空间),而是 kernel-evel-level-level-level threads 。threading
模块使用系统提供的机制(例如POSIX Systems上的pthread
),通常依赖内核接口(通过Linux上的clone(CLONE_THREAD)
创建任务)。
python支持用户级线程(纯粹在解释器中实现并仅占用一个内核级线程),通过发电机,绿色和类似的库。
简短的答案用户空间线程。从我对系统知识中的回答很长的答案(或线程)不是用户级别或内核级别。
用户EG内存和IO无法直接访问某些关键任务。要使用这些resources
,内核将暴露API's
。这些API更好地称为system calls
。因此,您的线程可能会在程序中使用这些system calls
。但是您不能仅仅产生内核线