新建concurrent文件夹,在该文件夹下创建concurrent.go,代码如下:
package concurrent import ( "fmt" "time" ) func ThreadZhangSan() { for i := 1; i <= 3; i++ { fmt.Println("张三:", i) time.Sleep(time.Millisecond * 500) } } func ThreadLiSi() { for i := 1; i <= 3; i++ { fmt.Println("李四:", i) time.Sleep(time.Millisecond * 500) } } func ThreadWangWu() { for i := 1; i <= 3; i++ { fmt.Println("王五*:", i) time.Sleep(time.Millisecond * 500) } }
在main.go里,运行这三个线程:
go concurrent.ThreadZhangSan() go concurrent.ThreadLiSi() go concurrent.ThreadWangWu()
我们可以多次执行,看这三个线程打印的内容,发现是无序的,这就是go程的并发了,在其他编程语言中,提到并发,好像很神秘,但是在go语言里线程的并发要简洁很多!
我们定义了三个线程,为了更好的理解,我们可以模拟一个场景:假设你是一个班级的班主任,在你的班级里有三个学生,线程的并发就是你管理学生的方式,现状是这三个学生很调皮,作为班主任你一定想把班级管理好,那么,就认真看这个系列的并发教程吧!
TRANSLATE with x English TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back 标签:concurrent,并发,线程,location,go,document From: https://www.cnblogs.com/jamstack/p/17673715.html