我理解进程和线程之间的区别。我知道用户线程和内核线程之间的区别。
问题
你如何用C代码编写任何代码?我在C中所知道的是如何创建POSIX线程,但这是用户线程还是内核线程?
任何人都可以为进程,用户线程和内核线程提供一些C代码示例。
我没有包含任何类型的帖子吗?
答案 0 :(得分:1)
有一个tutorial应该有助于线程。您可以使用不同的attr参数来pthread_create来选择user vs kernel。
对于流程,请尝试fork tutorial。
答案 1 :(得分:1)
这个问题的答案主要取决于您的操作系统。 POSIX线程可以实现为用户线程或内核线程 - 它只是一个API规范。在任何现代Linux系统上,它们都是用内核线程实现的。
就低级API而言,UNIX系统调用fork()
会创建一个新进程。在Linux上,系统调用clone()
可用于创建新的内核线程(通过传递CLONE_VM
标志) - 其他操作系统将有其他调用来执行此操作。创建用户线程将完全取决于您正在使用的用户线程库。