Go语言并发

Go语言并发

  • Go语言级别支持协程,叫做goroutine

  • Go 语言从语言层面支持并发和并行的开发操作

  • Go并发案例

package main

import "fmt"

func sing(){
   for i:=1;i<10;i++{
      fmt.Println("我在唱歌")
   }
}

func dancing(){
   for i:=1;i<10;i++{
      fmt.Println("我在跳舞")
   }
}

func main(){

   go sing()    // 开启协程   Go
   go dancing()    // 开启协程   Go

   for{
      ;
   }

}
  • 开启协程 在调用前加 Go

  • 注意点:
    开启协程之后, 主线程(进程)不能结束一旦主线程结束了, 那么程序就关闭了, 那么进程就不见了, 那么协程就不会被执行了


Runtime 包中常用的函数

  • 出让本次的执行权限
runtime.Gosched()
  • 终止调用它的Go程,其他Go程不会受到影响
runtime.Goexit( )
  • 设置最大CPU
runtime.GOMAXPROCS( n int )
  • 获取同时执行的CPU个数
runtime.NumCPU( )
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 并发(并行),一直以来都是一个编程语言里的核心主题之一,也是被开发者关注最多的话题;Go语言作为一个出道以来就自带...
    驻马听雪阅读 3,223评论 3 27
  • 并发编程基本概念 学习并发编程之前我们需要脑补几个基础知识和思考一个问题什么是串行?什么是并行?什么是并发?什么是...
    极客江南阅读 1,528评论 3 9
  • 理解并发和并行并发:同时管理多件事情。并行:同时做多件事情。表示同时发生了多件事情,通过时间片切换,哪怕只有单一的...
    Chuck_Hu阅读 6,204评论 7 44
  • 有人把Go比作21世纪的C语言,第一是因为Go语言设计简单,第二,21世纪最重要的就是并行程序设计,而Go从语言层...
    夜空中乄最亮的星阅读 1,927评论 0 3
  • 有些男人完事之后,会推说自己喝高了、记不清、没责任。对此有人提出反驳,说男人喝醉以后根本没法勃起,所以只要是成了事...
    54谭小姐阅读 1,258评论 0 1

友情链接更多精彩内容