zoukankan      html  css  js  c++  java
  • Go语言之goroutine

    开启gorouutine
    1
    import ( 2 "fmt" 3 "time" 4 ) 5 6 func Hello(){ 7 fmt.Println("hello") 8 } 9 10 func main() { 11 //开启goroutine需要在调用的函数前边加上go关键字即可 12 go Hello() 13 fmt.Println(" i love you") 14 //加入sleep的目的就是当go启动时默认创建一个goroutine只要main函数结束就都结束了因此睡眠1秒 15 time.Sleep(time.Second) 16 }

    go语言开启多个goroutine

     1 import (
     2     "fmt"
     3     "sync"
     4 )
     5 
     6 var wg sync.WaitGroup
     7 
     8 func Hello(i int){
     9     fmt.Println("hello+",i)
    10     //Done方法减少WaitGroup计数器的值,应在线程的最后执行。
    11     wg.Done()
    12 }
    13 
    14 func main() {
    15     //启动多个goroutine
    16     for i:=0;i<10;i++{
    17         /*
    18         Add方法向内部计数加上delta,delta可以是负数;如果内部计数器变为0,Wait方法阻塞等待的所有线程都会释放,如果计数器小于0,
    19         方法panic。注意Add加上正数的调用应在Wait之前,否则Wait可能只会等待很少的线程。一般来说本方法应在创建新的线程或者其他应
    20         等待的事件之前调用。
    21         */
    22         wg.Add(1)
    23         go Hello(i)
    24     }
    25     /*
    26         Wait方法阻塞直到WaitGroup计数器减为0。
    27     */
    28     wg.Wait()
    29 }
  • 相关阅读:
    `cd -`
    .git文件夹过大的解决方法
    避免对函数参数的修改
    2020年10月 修改Ant Design Pro底部版权信息的方法
    度目-人脸应用套件 文档中的坑
    "A little like that j-thing"
    Linux安装MySQL后设置密码
    append对len和cap的影响
    s := []int{0, 1, 2, 3, 8: 100}
    Python学习笔记
  • 原文地址:https://www.cnblogs.com/yh2924/p/12444459.html
Copyright © 2011-2022 走看看