gpt4 book ai didi

linux - 进程和线程

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:21 24 4
gpt4 key购买 nike

进程和线程性能将如何根据 timslice 而变化。(执行大约需要多少时间)。在这种情况下,我们将使用线程而不是进程。

最佳答案

我想将您的问题改写为:在什么情况下单个应用程序应该使用多个线程,在什么情况下它应该使用多个进程?

在这个问题中,时间片根本不重要:今天的操作系统只调度线程,并将“普通”进程视为具有单个线程。

在性能方面重要的是创建开销:创建进程通常比创建线程更昂贵。多处理应用程序使用池避免了这种成本,即它们很少创建新进程,但在完成某些任务后会重用它们。由于线程创建仍然很昂贵,人们经常对线程做同样的事情。

同样重要的是通信开销:在线程中,你可以很容易地共享内存;在流程中,您通常会复制东西(例如使用管道)。也有一些方法可以跨进程共享内存,但这些方法很难使用。

所以一般来说,线程应该比进程快。为什么人们仍然使用流程?因为它们是更简单的编程模型。由于线程中的共享内存,很容易出错,并且有不是线程安全的库/API。可以通过使用进程来规避缺乏线程安全性。

关于linux - 进程和线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1326329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com