【发布时间】:2012-03-20 06:03:24
【问题描述】:
我有一些在 Windows 中使用线程和进程的经验。
有人可以解释一下,Windows中的线程和进程是否可以映射到Linux中的相同?
也就是说,Windows 中的线程 == Linux 中的线程? -> 有什么意义吗? Windows 中的进程 == Linus 中的进程? -> 有意义吗?
如果相同,我在 windows 中有 CreateThread() 和 CreateProcess() 调用,linux 中的等效调用是什么?
我已经阅读了 SO 中的一些帖子,但其中大多数都没有消除我的疑问。所以想开始一个新帖子。
如果我能通过一些简单的示例(C 编程)得到一些解释,那就太好了。
【问题讨论】:
-
在 Linux 中查找
pthread_create和fork调用。 -
不要期望 Linux 和 Windows 系统调用之间存在等价关系。概念和术语略有不同。
-
好吧,严格来说,Linux 根本没有线程,它只知道进程,并且最近知道共享地址空间和/或文件描述符的进程。此外,它永远不会创建新流程,它只会复制它们。就目前而言,即使可以实现相似或相同的最终结果,也没有真正的 1:1 对应关系。
标签: c windows linux multithreading process