《零基础Go语言算法实战》【题目 2-22】Go 调度器优先调度问题

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

【题目 2-22】Go 调度器优先调度问题

下面代码的输出是什么?请说明原因。

package main

import (

 "fmt"

 "runtime"

 "sync"

)

func main() {

 runtime.GOMAXPROCS(1)

 wg := sync.WaitGroup{}

 wg.Add(10)

 for i := 0; i < 5; i++ {

 go func() {

 fmt.Println("i: ", i)

 wg.Done()

 }()

 }

 for j := 0; j < 5; j++ {

 go func(i int) {

 fmt.Println("j: ", i)

 wg.Done()

 }(j)

 }

 wg.Wait()

}

【解答】

这个输出取决于调度器优先调度哪个 goroutine。从 runtime 的源码可以看到,当创建一

个 goroutine 时,会优先放入到下一个调度的 runnext 字段上作为下一次优先调度的 goroutine。

因此,最先输出的是最后创建的 goroutine,也就是 j: 4。完整输出如下:

j: 4

i: 5

i: 5

i: 5

i: 5

i: 5

j: 0

j: 1

j: 2

j: 3

700d73538aff4dd1885cc38bddc298ec.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/1089.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解读若依微服务架构图:架构总览、核心模块解析、消息与任务处理、数据存储与缓存、监控与日志

文章目录 1. 引言2. 架构总览3. 核心模块解析3.1 服务注册与配置中心Nacos&#xff1a;微服务的中枢 3.2 网关层ruoyi-gateway&#xff1a;服务的统一入口 3.3 核心业务服务3.4 认证服务ruoyi-auth&#xff1a;认证与授权的守护者 3.5 异构服务整合Sidecar&#xff1a;连接异构…

Rank-Analysis——LOL 排位战绩查询分析器

项目地址&#xff1a; https://github.com/wnzzer/lol-rank-record-analysis 项目采用 Golang electron lol 战绩查询&#xff0c;一键查询你的混子队友&#xff01; 很早以前就想做这个&#xff0c;最近学了学前端的内容&#xff0c;就拿这个练练手&#xff0c;后端也是新学…

el-table自定义按钮控制扩展expand

需求&#xff1a;自定义按钮实现表格扩展内容的展开和收起&#xff0c;实现如下&#xff1a; 将type“expand”的表格列的宽度设置为width"1"&#xff0c;让该操作列不展示出来&#xff0c;然后通过ref动态调用组件的内部方法toggleRowExpansion(row, row.expanded)控…

FFmpeg入门

在音视频处理领域&#xff0c;有一款神器级的工具横扫开发者圈&#xff0c;那就是 FFmpeg。它被誉为“音视频处理的瑞士军刀”&#xff0c;凭借强大的功能和开源的特性成为众多开发者和媒体从业者的首选。今天&#xff0c;我们就来聊聊 FFmpeg 的入门使用&#xff0c;带你轻松开…

计算机网络 网络层 2

IP协议&#xff1a; Ip数据报的格式&#xff1a; 首部:分为固定部分 和 可变部分 固定部分是20B 版本&#xff1a;表明了是IPV4还是IPV6 首部长度&#xff1a;单位是 4B&#xff0c;表示的范围是&#xff08;5~15&#xff09;*4B 填充&#xff1a;全0&#xff0c;,让首部变…

【Java计算机毕业设计】基于SSM旅游景区网络购票系统【源代码+数据库+LW文档+开题报告+答辩稿+部署教程+代码讲解】

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统&#xff1a;Window操作系统 2、开发工具&#xff1a;IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

后端技术选型 sa-token校验学习 中 文档学习

目录 依赖 配置文件 登录验证 登录与注销 Cookie 自动注入 前后端分离(无 Cookie 模式) 何为 Cookie 何为无 Cookie 模式? 解决方案 1、后端将 token 返回到前端 2、前端将 token 提交到后端 其它解决方案&#xff1f; 自定义 Token 前缀 [ 记住我 ] 模式 前后端…

量子计算:从薛定谔的猫到你的生活

文章背景 说到量子计算&#xff0c;不少人觉得它神秘又遥不可及。其实&#xff0c;它只是量子物理学的一个“应用小分支”。它的核心在于量子比特的“叠加”和“纠缠”&#xff0c;这些听上去像科幻小说的概念&#xff0c;却为计算世界开辟了一片全新的天地。如果经典计算是“…

TPS61022 PFM的机制以及TPS61xxx转换器的PFM与PWM之间的负载阈值

引言 TI 的大多数 TPS61xxx 低压升压转换器都配备了 PSM&#xff08;省电模式&#xff09;&#xff0c;以帮助提高轻负载效率。但是&#xff0c;当它处于重负载状态时&#xff0c;输出纹波通常会高于 PWM。此外&#xff0c;PSM 和 PWM 之间的负载电流阈值不会直观地写入数据表中…

vue使用自动化导入api插件unplugin-auto-import,避免频繁手动导入

‌unplugin-auto-import‌是一个现代的自动导入插件&#xff0c;旨在简化前端开发中的导入过程&#xff0c;减少手动导入的繁琐工作&#xff0c;提升开发效率。它支持多种构建工具&#xff0c;包括Vite、Webpack、Rollup和esbuild&#xff0c;并且可以与TypeScript配合使用&…

电力场景红外测温图像均压环下的避雷器识别分割数据集labelme格式2436张1类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;2436 标注数量(json文件个数)&#xff1a;2436 标注类别数&#xff1a;1 标注类别名称:["arrester"] 每个类别标注的框数&am…

利用 NATIVE SQL 实现不区分供应商名字大小写进行模糊查询

公司有个需求 &#xff0c;当按用英文名字来进行查询时&#xff0c;可以实现不区分供应商名字大小写进行模糊查询。 例如&#xff1a;如果用户输入‘br’ 那么可以查出名字含有 ‘BR’、‘bR’、‘Br’ 、‘br’ 的供应商来。利用SAP 常规的 Open SQL 是实现不了的。 只能利用…

lobechat搭建本地知识库

本文中&#xff0c;我们提供了完全基于开源自建服务的 Docker Compose 配置&#xff0c;你可以直接使用这份配置文件来启动 LobeChat 数据库版本&#xff0c;也可以对之进行修改以适应你的需求。 我们默认使用 MinIO 作为本地 S3 对象存储服务&#xff0c;使用 Casdoor 作为本…

隐私计算,构建安全的未来数据空间

大数据产业创新服务媒体 ——聚焦数据 改变商业 在医疗领域&#xff0c;不同医院之间需要共享患者数据&#xff0c;以提供更全面准确的诊断和治疗方案。 传统的数据处理方式通常是数据经过转换隐藏重要数据后再进行分析&#xff0c;虽然可以保护数据隐私&#xff0c;但在数据源…

基于DFT与IIR-FIR滤波器的音频分析与噪声处理

基于DFT与IIR-FIR滤波器的音频分析与噪声处理 【完整源码文档报告】 【需要可随时联系博主&#xff0c;常在线能秒回!】 系统功能与实现介绍 功能与实现 音频处理系统界面搭建&#xff1a;利用MATLAB的GUI工具&#xff0c;构建了音频分析界面&#xff0c;包括文件导入、录…

分布式ID—雪花算法

背景 现在的服务基本是分布式、微服务形式的&#xff0c;而且大数据量也导致分库分表的产生&#xff0c;对于水平分表就需要保证表中 id 的全局唯一性。 对于 MySQL 而言&#xff0c;一个表中的主键 id 一般使用自增的方式&#xff0c;但是如果进行水平分表之后&#xff0c;多…

Artec Leo 3D扫描仪与Ray助力野生水生动物法医鉴定【沪敖3D】

挑战&#xff1a;捕获大型水生哺乳动物&#xff08;如鲸鱼&#xff09;的数据&#xff0c;搭建全彩3D模型&#xff0c;用于水生野生动物的法医鉴定、研究和保护工作。 解决方案&#xff1a;Artec Eva、Artec Space Spider、Artec Leo、Artec Ray、Artec Studio、CT scans 效果&…

Realsense相机驱动安装及其ROS通讯配置——机器人抓取系统系列文章(四)

文章目录 概要1 Realsense相机驱动安装Method1: 使用Intel服务器预编译包Method2: 使用ROS服务器预编译包Method3: 使用SDK源代码方法对比总结 2 Realsense-ROS通讯配置与使用2.1 Realsense-ROS包安装2.2 ROS节点启动 小结Reference 概要 本文首先阐述了Realsense相机驱动安装…

数据分析-使用Excel透视图/表分析禅道数据

背景 禅道&#xff0c;是目前国内用得比较多的研发项目管理系统&#xff0c;我们常常会用它进行需求管理&#xff0c;缺陷跟踪&#xff0c;甚至软件全流程的管理&#xff0c;如果能将平台上的数据结公司的实际情况进行合理的分析利用&#xff0c;相信会给我们的项目复盘总结带来…

精品PPT | AI+智能中台企业架构设计_重新定义制造

这份PPT解决方案的核心内容是介绍了AI智能中台架构设计&#xff0c;旨在通过结合ABC&#xff08;人工智能、大数据、云计算&#xff09;以及IoT技术重新定义制造业。它详细探讨了中台的概念、重要性以及在制造领域的具体应用&#xff0c;展示了如何利用智能中台实现从传统制造到…