关于GMP模型里为什么要有P,进一步推敲问题的背后,其实这个问题本质是想问:”为什么不是 G 和 M 直接绑定就完了,还要搞多一个 P 出来,那么麻烦,为的是什么,是要解决什么问题吗? 这就要说到go的历史版本了,在 Go1.1 之前 Go 的调度模型其实就是 GM 模型,也就是没有 P。 如下图: Read More
posted @ 2022-07-08 17:57 _Eternity味道 Views(791) Comments(0) Diggs(0) Edit
导语 众所周知,go的性能非常高,特别是并发能力,主要得益于goroutine的存在,可以在语言层面上实现编发编程。 goroutine性能高有三个根本原因: 1、goroutine是一种轻量级线程,一般我们说的线程是指系统的内核线程,而goruntine更轻量级,只是对系统线程进行分段使用。 2、 Read More
posted @ 2022-07-08 17:14 _Eternity味道 Views(896) Comments(0) Diggs(0) Edit