gpt4 book ai didi

go - Goroutines 和预定的

转载 作者:IT王子 更新时间:2023-10-29 02:33:55 27 4
gpt4 key购买 nike

我不明白这句话请详细解释我并使用简单的英语来做到这一点Go 例程是协作调度的,而不是依赖内核来管理它们的时间共享。

最佳答案

免责声明:这是对内核和 Go 运行时中调度的粗略和不准确的描述,旨在解释概念,而不是对真实系统的准确或详细解释。

您可能(或不知道),一个 CPU 实际上不能同时运行两个程序:一个 CPU 只有一个执行线程,它一次可以执行一条指令。对早期系统的直接影响是您不能同时运行两个程序,每个程序都需要(系统方面)一个专用线程。

目前采用的解决方案称为伪并行:给定多个逻辑线程(例如多个程序),系统将在一个逻辑线程中执行其中一个一定时间后切换到下一个。使用非常少量的时间(以毫秒为单位),您会给人类用户一种并行性的错觉。这种操作称为调度。

Go 语言不直接使用这个系统:它本身实现了一个运行在系统调度器之上的调度器,并调度 goroutines 本身的执行,绕过了为每个例程使用一个真实线程的性能成本。这种类型的系统称为浅色/绿色线程

关于go - Goroutines 和预定的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32173352/

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