GO语言自学_015_go程介绍

1、并发:电脑同时做不同事情。(放音乐、放电影、执行游戏程序等)cpu根据时间片进行划分,交替执行多个程序。但是人的感觉是同时进行的。
2、并行:多个cpu(多核)同时执行不同程序任务。
3、go程:go语言里,实现并发的过程是go程。(goroutine)go程是go语言原生支持的。(不需要导入包/库)
4、go程优点:每一个go程占用的系统资源远远小于线程。(1个go程大约4k-5k内存资源)一个程序可以使用大量go程。(上千个)所以对于实现高并发非常友好。
5、go的使用:只需要在目标函数前加上go关键字。
6、代码
package main

import (
  "fmt"
  "time"
)

func main() {
  // sub routine(启动go程只需前面加关键字go)
  go display()

  //main routine
  cnt := 1
  for {
    fmt.Println("这是主go程")
    cnt++
    time.Sleep(1 * time.Second)
  }

}

/*
  本函数用于subroutine
*/
func display() {
  cnt := 1
  for {
    fmt.Println("=这是子go程")
    cnt++
    time.Sleep(1 * time.Second)
  }
}

7、结果
ASUS@DESKTOP-NFP9SLA MINGW64 /c/gowork/src
$ go run 014_go_routine.go
这是主go程
=这是子go程
=这是子go程
这是主go程
这是主go程
=这是子go程
=这是子go程
这是主go程
这是主go程
=这是子go程
=这是子go程
这是主go程
这是主go程
=这是子go程
=这是子go程
这是主go程
exit status 0xc000013a

posted @ 2022-09-08 08:32  顺心无忧  阅读(47)  评论(0编辑  收藏  举报