gpt4 book ai didi

process - OS 更容易设置,新进程还是新线程?

转载 作者:行者123 更新时间:2023-12-02 07:10:36 25 4
gpt4 key购买 nike

上述问题..从操作系统的角度来看,线程和进程哪个更容易创建?

最佳答案

创建新线程应该比创建新进程更快。

进程是一个重量级的系统结构。它有自己的虚拟内存空间,拥有所有句柄(互斥量、信号量、打开的文件),并且可以防止其他进程。跨进程通信必须通过操作系统。

线程是进程的“ child ”。线程只是一个执行上下文(寄存器、堆栈和线程局部状态),它可以在另一个硬件内核上运行,或者与进程中的其他线程一起在同一内核上共同调度。多个线程共享单个进程的资源,包括进程拥有的地址空间和操作系统句柄。

有些结构比动态创建线程更快,可以在程序运行时实现多任务处理。

一些系统或代码库支持有线程池(轻量级线程)。在这种情况下,您告诉系统您要运行多少个线程,它会预先创建它们。然后,您可以从该池中分配和释放线程,而不是创建和销毁线程(这仍然是一个相对较慢的过程)。

Job Tasking 是另一种类似的轻量级多核结构,其中您有多个线程和一个任务队列来执行。它们运行作业队列中的任务,然后在队列为空时休眠。

对于线程池和作业任务,除了全局池和队列的创建和销毁之外,不需要线程启动/关闭成本。

关于process - OS 更容易设置,新进程还是新线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229566/

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