当前位置:首页 > 服务端 > golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

2022年09月16日 19:54:15服务端8

golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

下面这个程序运行的能num结果是什么?

package main

import (
	"fmt"
	
	"sync"
)

var num int64 = 0
var max = 10000
var wg sync.WaitGroup

func main() {
	wg.Add(2)
	go addNum()
	go addNum()
	wg.Wait()
	fmt.Printf("num=%d \n", num)
}
func addNum() {
	for i := 0; i < max; i++ {
		num++
	}
	wg.Done()
}

  这道题考察的是对并发的理解,主要是并发多协程操作一个共享变量的问题

注:需要多运行几次才能看到比较明显的结果。(可以弄个for循环执行100遍看看输出的效果)

 

作者:大自然的流风
来源链接:https://www.cnblogs.com/zdz8207/p/golang-learn-20-wg-sync.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42261.html

分享给朋友:

“golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题” 的相关文章

go mod 相关的八个命令

该go mod命令用于对模块执行操作。八个go mod命令是: 命令 手术 用法 download 将模块下载到本地缓存(GOPATH/pkg...

Hugo LoveIt主题配置与使用

我的博客地址luckly 1. 安装主题 把这个主题克隆到 themes 目录: git clone https://github.com/dillonzq/LoveIt.git themes/LoveIt 2. 配置主题...

Flutter设置App的应用名字和应用logo图标的方法(android ios web)

Flutter设置App的应用名字和应用logo图标的方法(android ios web)

在前面的几期给大家介绍了flutter的安装以及一些简单的配置,还运行了helloword 那么接下来就带领大家了解如何设置应用名称以及图标 Flutter设置App的应用名字和应用logo图标的方法, 知识点虽然简单,但是不知道这个知...

Go语言为并发而生

Go语言为并发而生 如上所述,硬件制造商正在为处理器添加越来越多的内核以提高性能。所有数据中心都在这些处理器上运行,更重要的是,今天的应用程序使用多个微服务来维护数据库连接,消息队列和维护缓存。因此,开发的软件和编程语言应该可以轻松地支持并发性,并...

Java集合---面试题

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中,甚至会要求你实现...

趣味编程|手写一个集成多数据源mongodb的 starter

趣味编程|手写一个集成多数据源mongodb的 starter

关注公众号“AI码师”领取2021最新面试资料一份,公众号内回复“源码”,获取本项目源码 【前言】 主演:老王(技术总监),小码(本猿) 老王:小码啊,我们项目中需要使用到mongodb,你集成下吧,完成了和我说下。...

看完这篇Exception 和 Error,和面试官扯皮就没问题了

看完这篇Exception 和 Error,和面试官扯皮就没问题了

在 Java 中的基本理念是 结构不佳的代码不能运行,发现错误的理想时期是在编译期间,因为你不用运行程序,只是凭借着对 Java 基本理念的理解就能发现问题。但是编译期并不能找出所有的问题,有一些 NullPointerException 和 ClassNotFoundExceptio...

Google 推出的 Java 编码规范(转)

原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http://www.dahuatu.com/1225/988516.html...

SpringBoot面试题及答案140道(2021年最新)

工作5年,处于找工作中ing。今年10月份刚刚整理出来的SpringBoot面试题,时间比较赶就没有按照模块分类排序了。总而言之,顺序比较乱,希望大家耐着性子 看。如果实在介意,评论告知,我会视情况作修改的。另外如果大家觉得我找的SpringBoot面试题答案不够清晰,欢迎私信或...

Golang面试题

目录 Golang面试题 1. defer的执行顺序 for循环时使用指针赋值为副本形式 go执行的随机性和闭包的局部变量 go的组合继承实现OOP的继承 5. se...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。