我知道线程和进程之间的理论差异。但实际上何时使用线程和进程因为两者都会做同样的工作。
答案 0 :(得分:3)
一般情况(并且因操作系统而异):
通常情况下,中间点对我来说是踢球者 - 如果你真的,真的不希望两个动作相互干扰,只要一个进程瘫痪不影响其他动作,请单独使用流程。否则我个人会去寻找线程。
(我假设两个模型都可用 - 如果你想运行一个单独的可执行文件,那么在现有的线程中很难做到,至少在我所知道的大多数环境中都是如此。)
答案 1 :(得分:1)
线程是进程的小计。因此,主要区别在于内存分配和CPU时间安排:
除此之外还有很多微小的定义差异,比如硬件分配(线程可以共享由其进程锁定的硬件),通信(取决于平台/语言/运行时,线程可以共享变量,进程需要管道共享如果您将线程视为原子实体,那么这种区别还有很多,而在这种情况下,过程就是将这些实体分组的方式。