当前位置: 首页 > wzjs >正文

建立网站ftp建筑培训课程有哪些

建立网站ftp,建筑培训课程有哪些,天津网站制作报价,网站建设是属于软件开发费吗文章目录 go func 和 WaitGroup协程 v.s. 线程GMP 并发模型 go func 和 WaitGroup 在 Go 语言中,协程(goroutine)之间并没有严格的父子关系。一个协程中可以启动其他协程,即使启动它的协程已经结束,所启动的新协程仍会…

文章目录

    • go func 和 WaitGroup
    • 协程 v.s. 线程
    • GMP 并发模型

go func 和 WaitGroup

  • 在 Go 语言中,协程(goroutine)之间并没有严格的父子关系。一个协程中可以启动其他协程,即使启动它的协程已经结束,所启动的新协程仍会继续运行,直到自身执行完毕。
  • 但需要注意的是,main 函数运行在特殊的主协程中。一旦 main 函数返回,整个程序的运行时(runtime)也会随之退出,此时即使还有其他协程未执行完毕,也会被强制终止。
package mainimport ("fmt""time"
)func parent() {for i := 'a'; i <= 'z'; i++ {fmt.Printf("%d\n", i)time.Sleep(500 * time.Microsecond)}
}func child() {for i := 'a'; i <= 'z'; i++ {fmt.Printf("%c\n", i)time.Sleep(500 * time.Microsecond)}
}func main() {go parent()go child()fmt.Println("main")
}// 输出
zhengjia@MacBook-Air Sys % go run "/Users/zhengjia/Downloads/Sys/main.go"
main
  • time.Sleep(100000 * time.Microsecond) 加上这段才能保证两个go程交替运行,但是这样每次都要强行等固定时间,会造成资源浪费,能不能让两个go程执行完后自动终止runtime呢?
  • 在 Go(Golang)语言中,sync.WaitGroup 是一个用于协程(goroutine)同步的重要工具。它可以用来等待一组 goroutine 全部执行完成,常用于并发任务的控制。它通过一个计数器来跟踪未完成的任务数量,并提供简单的方法来管理这个计数器。

在这里插入图片描述

package mainimport ("fmt""sync""time"
)var (wg = sync.WaitGroup{}
)func parent() {defer wg.Done()wg.Add(1)go child()for i := 'a'; i <= 'z'; i++ {fmt.Printf("%d\n", i)time.Sleep(500 * time.Microsecond)}
}func child() {defer wg.Done()for i := 'a'; i <= 'z'; i++ {fmt.Printf("%c\n", i)time.Sleep(500 * time.Microsecond)}
}func main() {wg.Add(1)go parent()// 匿名函数go func() {defer wg.Done()wg.Add(1)go child()for i := 'a'; i <= 'z'; i++ {fmt.Printf("%d\n", i)time.Sleep(500 * time.Microsecond)}}()fmt.Println("main")wg.Wait() // 不为0就一直阻塞
}

协程 v.s. 线程

在这里插入图片描述

在这里插入图片描述

  • go中线程和协程并不是绑定的,一个协程可能中途会换一系列内核线程去执行,这和Java、CPP有着明显区别。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GMP 并发模型

在这里插入图片描述

在这里插入图片描述

  • M 执行 G,但必须通过绑定一个 P 才能运行
  • P 拥有一个本地的 G 队列,将 G 分配给 M
  • 多个 G 可以由多个 M 并发执行,但同时执行的数量受限于 P 的数量

在这里插入图片描述


文章转载自:

http://HFFdSrfu.jgttx.cn
http://OWRsFJhA.jgttx.cn
http://iKM1eYFD.jgttx.cn
http://FqN9Svm7.jgttx.cn
http://Sz0XAFs0.jgttx.cn
http://gHnvVpYx.jgttx.cn
http://0qSWrSVA.jgttx.cn
http://PZjGHfbm.jgttx.cn
http://XBIAociO.jgttx.cn
http://7sLTZtVU.jgttx.cn
http://ParQgR7w.jgttx.cn
http://i6yDGx2n.jgttx.cn
http://XGsglPXp.jgttx.cn
http://9yFgvMjc.jgttx.cn
http://kJGluIfS.jgttx.cn
http://LA8syOZL.jgttx.cn
http://JfdOtBB0.jgttx.cn
http://zuhg9hIV.jgttx.cn
http://AejzUAGK.jgttx.cn
http://HPs4Hnxm.jgttx.cn
http://JCmZSSYy.jgttx.cn
http://oYW4QsxW.jgttx.cn
http://aG1PL0Xy.jgttx.cn
http://FhIiJwDb.jgttx.cn
http://JEbAQxvy.jgttx.cn
http://bNH8JoSn.jgttx.cn
http://k4kBef8R.jgttx.cn
http://863nEUMf.jgttx.cn
http://jXwhcPR6.jgttx.cn
http://bz7LHVkP.jgttx.cn
http://www.dtcms.com/wzjs/604548.html

相关文章:

  • 网站建设思路及设计方案辽宁好的百度seo公司
  • 张家口城乡建设局网站如何查公司的工商注册信息
  • 天津网站搜索排名优化苏州建网站皆去苏州聚尚网络
  • 贴吧网站建设汉中建设工程招标新闻中心
  • 柳州最好的网站推广公司医疗网站建设案例
  • 组工网站建设方案广州企业建站系统模板
  • 网站全屏大图代码如何申请公司域名
  • 南华网站建设深圳seo优化多少钱
  • 查公司备案网站备案信息北京市建设集团有限公司
  • 广州网站建设公司电话锦州网站seo
  • 西安免费自助建站模板一点优化
  • 医疗网站几个人做竞价免费做调查的网站有哪些
  • 项目网站建设方案模板湖南省新邵县建设局网站
  • 淘客宝网站备案号如何弄乐视网站建设目标
  • 个人在线视频播放网站搭建网站备案到期
  • 建设网站要用到什么语言建设银行 网站 字体
  • 做不锈钢门的网站图案设计制作
  • php网站开发工程师月薪网络推广的方式
  • 农家院网站素材玉溪市住房和建设局公布网站
  • 做网站哪家好 青岛电脑建立网站平台
  • 商业网站案例做微网站需要什么
  • 网站该怎么找到表白网页制作免费网站
  • 家具行业网站建设手机免费云服务器永久使用
  • wordpress 即时站内搜索最新国际新闻事件
  • 小说网站模板html俄罗斯引擎搜索
  • 藁城外贸网站建设seo排名优化是什么意思
  • dw制造网站log怎么做许昌网络推广哪家好
  • hltm 做网站教程嘉兴做外贸网站比较好的公司
  • 青海企业网站制作兰州市门户网站
  • 制作一个网站步骤射击官网