Golang - 并发编程入门

2021-10-03  本文已影响0人  陈光环_18

1. 并行和并发

2. go语言并发优势

3. goroutine是什么

4. 创建goroutine

package main
import (
"fmt"
"time"
)

//测试协程
//循环打印内容
func newTask() {
  i := 0
  for {
    i++
    fmt.Printf("new goroutine:i=%d\n", i)
    time.Sleep(1 * time.Second)
  }
}

//main()相当于是主协程
func main() {
  //启动子协程
  go newTask()
  i := 0
  for {
    i++
    fmt.Printf("main goroutine:i=%d\n", i)
    time.Sleep(1 * time.Second)
  }
}
  package main
  
  import (
     "fmt"
     "time"
  )
  
  //main()相当于是主协程
  func main() {
     //匿名子协程
     go func() {
        i := 0
        for {
           i++
           fmt.Println("子协程 i=", i)
           time.Sleep(1 * time.Second)
        }
     }()
     i := 0
     for {
        i++
        fmt.Println("主协程 i=", i)
        time.Sleep(1 * time.Second)
        //主协程第二次后退出
        if i == 2 {
           break
        }
     }
  }
  package main
  
  import (
     "fmt"
     "time"
  )
  
  //main()相当于是主协程
  func main() {
     //匿名子协程
     go func() {
        i := 0
        for {
           i++
           fmt.Println("子协程 i=", i)
           time.Sleep(1 * time.Second)
        }
     }()
  }
上一篇下一篇

猜你喜欢

热点阅读