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

门户类网站有哪些网站服务公司人工成本进什么费用

门户类网站有哪些,网站服务公司人工成本进什么费用,郴州建设公司网站,献县制作网站一、什么是协程(Goroutine)? 简单来说,协程是由 Go 语言运行时管理的轻量级线程。相比系统线程,它的调度开销极小,内存占用非常少(默认只需 2KB 栈空间)。 你可以在一个程序中轻松…

一、什么是协程(Goroutine)?

简单来说,协程是由 Go 语言运行时管理的轻量级线程。相比系统线程,它的调度开销极小,内存占用非常少(默认只需 2KB 栈空间)。

你可以在一个程序中轻松创建成千上万个 goroutine,而不会像传统线程那样造成系统负担。

二、如何创建一个协程

只需要在函数调用前加上 go 关键字,Go 就会在新的协程中异步执行该函数:

package mainimport ("fmt""time"
)func sayHello() {fmt.Println("Hello from goroutine")
}func main() {go sayHello() // 启动一个新的协程time.Sleep(1 * time.Second) // 给协程执行的时间
}

如果不加 time.Sleep主线程可能直接退出,协程还没执行完,即不会输出"Hello from goroutine"。

三、多个协程并发执行

我们可以轻松开启多个任务同时运行:

package mainimport ("fmt""time"
)func main() {for i := 0; i < 5; i++ {go func(i int) {fmt.Printf("Worker %d is running\n", i)}(i)}time.Sleep(1 * time.Second)
}

输出顺序是不确定的,因为每个协程的调度是由 Go 运行时决定的。

四、协程与主线程的关系

主函数是 Go 程序的入口,也是主协程。一旦 main() 执行完毕,程序就退出,即使其他协程还在执行

为了解决这个问题,我们常用 sync.WaitGroup 等机制来等待所有协程结束:

package mainimport ("fmt""sync"
)var wg sync.WaitGroupfunc worker(id int) {defer wg.Done()fmt.Printf("Worker %d done\n", id)
}func main() {for i := 1; i <= 3; i++ {wg.Add(1)go worker(i)}wg.Wait() // 等待所有 goroutine 完成
}

五、goroutine 的注意事项

闭包中的变量捕获问题

package mainimport ("fmt""sync""time"
)var wg sync.WaitGroupfunc main() {wg.Add(3)for i := 1; i <= 3; i++ {go func() {time.Sleep(time.Second)fmt.Println(i)wg.Done()}()}wg.Wait() // 等待所有 goroutine 完成
}

正确做法是将变量作为参数传进去:

package mainimport ("fmt""sync""time"
)var wg sync.WaitGroupfunc main() {wg.Add(3)for i := 1; i <= 3; i++ {go func(val int) {time.Sleep(time.Second)fmt.Println(val)wg.Done()}(i)}wg.Wait() // 等待所有 goroutine 完成
}


文章转载自:

http://TEeU8Wqn.qypjk.cn
http://KnrjPhxL.qypjk.cn
http://ENa58kVK.qypjk.cn
http://EDtkwhIw.qypjk.cn
http://24aoxfcj.qypjk.cn
http://EhPMklmh.qypjk.cn
http://sFVEtdji.qypjk.cn
http://F3r4GJ7R.qypjk.cn
http://xUbyNJYk.qypjk.cn
http://v4kq1yzi.qypjk.cn
http://Ikb6hDf5.qypjk.cn
http://mcY6LU09.qypjk.cn
http://9wSt5Ujr.qypjk.cn
http://G3NcBuny.qypjk.cn
http://baavOO7R.qypjk.cn
http://1GCcUNfP.qypjk.cn
http://FNTa8OW2.qypjk.cn
http://UWxPUGmO.qypjk.cn
http://Web6wrGm.qypjk.cn
http://zVJhGFr8.qypjk.cn
http://hj7rps1m.qypjk.cn
http://Ij44V12Q.qypjk.cn
http://hF1ENUXH.qypjk.cn
http://exoDssFp.qypjk.cn
http://KWneVgfy.qypjk.cn
http://E7MYn6Zy.qypjk.cn
http://GSuN34B8.qypjk.cn
http://BoHZ7CTN.qypjk.cn
http://CHsRMcWJ.qypjk.cn
http://GnfvDUVD.qypjk.cn
http://www.dtcms.com/wzjs/737191.html

相关文章:

  • 打字网站怎么做义乌网站建设软件开发
  • 捷讯官网 网站建设官方网站做兼职
  • pc网站 公众号数据互通网站开发 弹窗
  • 做网站有没有前途网站运行平台包括
  • 青岛百度网站排名镇江网站搜索引擎优化
  • 网站管理与维护黑龙江城乡建设厅官网
  • 商城网站源码大全wordpress设置使用旧版编辑器
  • 做网站 套模板 后端wordpress首页缓存
  • 上海企业制作网站有哪些电子商务网站推广的主要方法
  • 做网站平台的工作网站加网页
  • 庆阳网站建设外贸做那种网站有哪些
  • 中国手机网站小程序商店app
  • 郑州直播网站建设公司整站优化cms
  • 工业和信息化部网站备案厦门橄榄网站建设
  • 网站被墙wordpress作者英文版
  • 企业网站做的公司深圳网络推广专员
  • 广东品牌网站建设服务机构wordpress 防盗链
  • 网站建网站建设和优网站建设意见征求表
  • wordpress博客站模板下载做网站的字体大小
  • 营销型网站建设哪里济南兴田德润优惠吗wordpress 页面改造
  • 全国当先的网络建站推广临安市建设局网站
  • 网站内容创造wordpress添加vip用户组
  • 凡科建站快车做网站需要学些什么软件
  • 凡科建站帮忙做网站网络营销方案500字
  • 网站流量运营招聘门户网站是什么意思
  • 国外网站搭建平台网站如何被谷歌收录
  • 那些网站可以做文案兼职郑州免费自助建站模板
  • wordpress视频站模板下载如何在头条上做网站推广
  • 南宁企业如何建网站怎么做cpa网站
  • p2p网站的建设wordpress文字字幕