当前位置: 首页 > article >正文

《零基础Go语言算法实战》【题目 2-26】goroutine 的执行效率问题

《零基础Go语言算法实战》

【题目 2-26】goroutine 的执行效率问题

请说出下面的代码存在什么问题。

package main

import "fmt"

type Func func(string) string

func exec(name string, vs ...Func) string {

 ch := make(chan string)

 fn := func(i int) {

 ch <- vs[i](name)

 }

 for i, _ := range vs {

 go fn(i)

 }

 return <-ch

}

func main() {

 ret := exec("test", func(n string) string {

 return n + "func1"

 }, func(n string) string {

 return n + "func2"

 }, func(n string) string {

 return n + "func3"

 }, func(n string) string {

 return n + "func4"

 })

 fmt.Println(ret)

}

【解答】

依据 4 个 goroutine 的启动后执行效率,很可能输出 testfunc4,但其他的 testfunc1 也可能

先执行,exec() 函数只会返回一条信息。

bebe7e141ed84ec6a70afee25a972cca.png

 


http://www.kler.cn/a/501823.html

相关文章:

  • Entity 的材质(棋盘、条纹、网格)
  • 使用Deepseek搭建类Cursor编辑器
  • 【Go】:图片上添加水印的全面指南——从基础到高级特性
  • Linux 高级路由 —— 筑梦之路
  • 【微服务】面试 1、概述和服务发现
  • Windows配置wsl和docker开发环境
  • HDFS 的API的操作
  • 【Rust】函数
  • 【网络协议】EIGRP - 第二部分
  • 使用Deepseek搭建类Cursor编辑器
  • SQL语言的计算机基础
  • LeetCode:216.组合总和III
  • 基于单片机的书写坐姿规范提醒器的设计(论文+源码)
  • 自动化机械臂视觉跟踪和手眼校准
  • Docker Swarm、Kubernetes 和 LVS 的功能对比
  • Go语言如何实现高性能缓存服务
  • 青少年编程与数学 02-006 前端开发框架VUE 24课题、UI表单
  • virtual box虚拟机误删Python3.6后导致UBUNTU18.04开机无UI界面(进不了desktop)的解决方法
  • docker推送本地仓库报错
  • 2025年VGC大众汽车科技社招入职测评综合能力英语口语SHL历年真题汇总、考情分析
  • 嵌入式入门Day42
  • Centos8部署Redis Cluster
  • STM32——点亮LED
  • shell脚本回顾1
  • [文献精汇]使用 LSTM Networks 的均值回归交易策略
  • 2024年开发语言热度排名