Go调度器 宏观看调度器G: goroutine,每个G都代表1个goroutineM: 工作线程,是Go语言定义出来在用户层面描述系统线程的对象 ,每个M代表一个系统线程P: 处理器,它包含了运行Go代码的资源。3者的简要关系是P拥有G,M必须和一个P关联才能运行P拥有的G。调度器的功能协程需要运行在线程之上
Golang 并发模型 select 进阶nil的通道永远阻塞当case上读一个通道时,如果这个通道是nil,则该case永远阻塞。这个功能有1个妙用,select通常处理的是多个通道,当某个读通道关闭了,但不想select再继续关注此case,继续处理其他case,把该通道设置为nil即可。下面是一个合并程序等待两个输入
Go程序Dockerfile模板 模板文件# build时设置版本 --build-arg GO_VERSION=1.13,默认为go1.15ARG GO_VERSION=1.15FROM golang:${GO_VERSION} AS builderENV GOPROXY="https://goproxy.cn"
Kubernetes 运维 K8s中的external-traffic-policy什么是external-traffic-policy在k8s的Service对象(申明一条访问通道)中,有一个“externalTrafficPolicy”字段可以设置。有2个值可以设置:Cluster或者Local。1)Cluster表示:流