首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进程与线程(用户对内核)

进程与线程(用户对内核)
EN

Stack Overflow用户
提问于 2010-03-31 10:56:39
回答 2查看 1.3K关注 0票数 0

我理解进程和线程之间的区别。我知道用户线程和内核线程之间的区别。

问题

您如何用C语言编写它们中的任何一个?我在C中所知道的就是如何创建POSIX线程,但是这个用户线程还是内核线程呢?

有人能为进程、用户线程和内核线程提供一些C代码示例吗?

是否有任何类型的线程我没有包括?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-31 11:06:40

答案主要取决于您的操作系统。POSIX线程可以实现为用户线程或内核线程-它只是一个API规范。在任何现代Linux系统上,它们都是用内核线程实现的。

在低级API方面,UNIX系统调用fork()创建了一个新进程。在Linux上,系统调用clone()可以用来创建一个新的内核线程(通过传递CLONE_VM标志)--其他操作系统也会有其他调用。用户线程的创建将完全取决于您正在使用的用户线程库。

票数 1
EN

Stack Overflow用户

发布于 2010-03-31 11:05:58

有一个tutorial应该可以帮助线程。您可以使用与pthread_create不同的attr参数来选择用户与内核。

对于进程,请尝试使用fork tutorial

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2552240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档