go语言小白求助,为什么我的子协程不会执行??
import (
"fmt"
"runtime"
)
func test(){
for i :=0;i <5;i++{
fmt.Println("子协程 hello")
}
}
func main() {
for i :=0;i<10 ;i++{
runtime.Gosched() //让主协程让出时间片
fmt.Println("主协程hello")
}
go test()
}
为什么我的子协程不会执行呢? 我已经加了runtime.Gosched() 。
后来又试了一下 ,除非再加 time.Sleep(time.Second) 或者调换子协程和主协程的代码顺序,这是为什么呢?
相关推荐
Golang:如何优雅的让所有子协程执行完后再执行主协程
Golang:如何优雅的让所有子协程执行完后再执行主协程 方法一:channel 实现同步 使用 channel 来完成同步功能。 /* @Time : 2019-10-28 下午 5:30 @Author : Gerald @File : 用channel来实现同步 @Software: GoLand */ package main import ( fmt ) func printString(str string) { for _, data := range str { fmt.Printf(%c, data) } fmt.Printf(\n) } var ch
Go-一个golang的任务协程池简单实现
一个golang的任务协程池简单实现,用于限制系统无休止开辟协程执行任务的场景
Go-基于epoll协程池的golang网络库
基于epoll 协程池的golang网络库。支持epoll事件触发,读数据和业务逻辑处理分离,最大化利用cpu,防止内存急剧暴涨,适用于长连接、短连接,支持请求对象池和连接对象池
学习 Go 语言(Golang)
学习 Go 语言(Golang),简单易懂的Go语言教程,让你分分钟学会GO语言
golang GO语言开发工具
golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具golang GO语言开发工具


