栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Go+ goroutine

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Go+ goroutine

Go+ goroutine 简介

在很多的时候我们需要去学习线程或者线程池相关的知识,但是在Go+里面,我们不需要去学习,因为我们没有选择,我们直接使用Go+提供的协程即可。

语法

我们使用Go+的协程也很方便,直接使用go这个关键字即可。

// 定义执行一个函数
func()

// 开启一个协程执行这个函数
go func()
使用
func testGoroutine() {
	println "hello, go"
}

// 启动一个协程
go mytest()
println "hello, goroutine"

如果我们想要让其他协程先执行,阻塞当前协程,我们只需让他睡一下即可。

import (
	"time"
)

func mytest() {
	println "hello, go"
}

go mytest()
println "hello, goroutine"
time.sleep time.Second
并发执行

学习协程最重要的就是看到并发的效果,如果我们想要达到并发效果如何实现呢?

import (
	"time"
)

func mygo(name string) {
	for i := 0; i < 10; i++ {
		printf "In goroutine %sn", name
		time.sleep 10*time.Millisecond
	}
}

go mygo("协程A") // 第一个协程
go mygo("协程B") // 第二个协程
time.sleep time.Second

从执行效果来看,已经是有并发的感觉了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/679031.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号