[日常] Go语言圣经-Goroutines和线程

Posted 陶士涵的菜地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[日常] Go语言圣经-Goroutines和线程相关的知识,希望对你有一定的参考价值。

Goroutines和线程:


1.动态栈:


1)线程都有一个固定大小的内存块(一般会是2MB)来做栈
2)一个goroutine会以一个很小的栈开始其生命周期,一般只需要2KB,不是固定的;栈的大小会根据需要动态地伸缩


2.Goroutine调度:


1)线程是使用硬件定时器进行的调度,速度慢
2)Go是使用的自己的调度器,在线程的基础上调度,不需要进入内核的上下文


3.GOMAXPROCS环境变量可以确定启动多少线程同时执行go代码
4.goroutine没有可以被程序员获取到的身份(id)的概念

以上是关于[日常] Go语言圣经-Goroutines和线程的主要内容,如果未能解决你的问题,请参考以下文章

[日常] Go语言圣经--复数,布尔值,字符串习题

[日常] Go语言圣经--Channel习题

[日常] Go语言圣经--作用域,基础数据类型,整型

7.1 Go语言中什么是Goroutines

7.1 Go语言中什么是Goroutines

[日常] Go语言圣经--接口约定习题2