go func() 多线程

简介: go func() 多线程
package main
 import (
   "fmt"
  "sync"
 )
 func main() {
  var wg sync.WaitGroup
  wg.Add(2) // 因为有两个动作,所以增加2个计数
  go func() {
    fmt.Println("Goroutine 1")
    wg.Done() // 操作完成,减少一个计数
  }()
  go func() {
    fmt.Println("Goroutine 2")
    wg.Done() // 操作完成,减少一个计数
  }()
  wg.Wait() // 等待,直到计数为0
}
目录
相关文章
|
4月前
|
Go 调度
go-issues#14592 runtime: let idle OS threads exit 内核线程暴增与线程回收问题
go-issues#14592 runtime: let idle OS threads exit 内核线程暴增与线程回收问题
26 0
|
2月前
|
Go 调度
|
7月前
|
Linux Go 调度
Go 协程为什么比进程和线程占用的系统资源低?
Go 协程为什么比进程和线程占用的系统资源低?
41 0
|
3月前
|
Go 调度 开发者
Go语言并发基础:轻量级线程与通道通信
【2月更文挑战第6天】本文介绍了Go语言在并发编程方面的基础知识和核心概念。我们将深入探讨goroutine(轻量级线程)的创建与调度,以及如何利用channel进行goroutine间的通信与同步。此外,还将简要提及select语句的使用,并解释其在处理多个channel操作时的优势。
|
4月前
|
安全 Go 调度
Go 语言 Goroutine - 轻量级线程
Go 语言 Goroutine - 轻量级线程
20 0
|
7月前
|
存储 安全 Linux
Go语言学习笔记-进程和线程
Go语言学习笔记-进程和线程
36 0
Go语言学习笔记-进程和线程
|
11月前
|
IDE Go 开发工具
Go源码里为什么可以直接用internal包里的func?
Go源码里为什么可以直接用internal包里的func?
53 0
|
数据采集 存储 Go
简单聊聊Go和python的多线程操作吧(互斥锁,线程同步)
简单聊聊Go和python的多线程操作吧(互斥锁,线程同步)
102 0
|
安全 Go
为什么遍历 Go map 是无序的?原生map为什么是非线程安全的?
为什么遍历 Go map 是无序的?原生map为什么是非线程安全的?
283 0
为什么遍历 Go map 是无序的?原生map为什么是非线程安全的?
|
安全 Go 数据安全/隐私保护
Go context 原理(channel广播机制 + mutex线程安全)
Go context 原理(channel广播机制 + mutex线程安全)
337 0