第12章 Go语言并发编程-【千锋教育】Go语言开发实战(慕课版)同步教案

2023-03-22
| 13页
| 111人阅读
| 0人下载
教辅

资源信息

学段 中职
学科 职教专业课
课程 程序设计基础
教材版本 -
年级 高三
章节 -
类型 教案
知识点 -
使用场景 同步教学
学年 2023-2024
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 197 KB
发布时间 2023-03-22
更新时间 2023-04-09
作者 北京千锋互联科技有限公司
品牌系列 -
审核时间 2023-03-22
下载链接 https://m.zxxk.com/soft/38223766.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

千锋教育 Go语言开发实战 教学设计 课程名称: Go语言开发实战 授课年级: ______ ______________ ___ 授课学期: ___ ____ ________ ________ 教师姓名: ______________ ________ 2019年09月01日 课程名称 第12章 Go语言并发编程 计划学时 4学时 内容分析 本章主要介绍并发与并行、进程和线程、Goroutine、channel、time包中与channel相关的函数、select分支语句、sync语句 教学目标 与 教学要求 要求学生理解并发与并行,理解进程和线程,掌握Go语言中Goroutine和channel,掌握select分支语句,掌握sync包的应用。 教学重点 进程和线程、Goroutine、channel、time包中与channel相关的函数、select分支语句、sync语句 教学难点 Goroutine、channel、time包中与channel相关的函数、select分支语句、sync语句 教学方式 课堂讲解及ppt演示 教 学 过 程 第一课时 (并发与并行、进程和线程、Goroutine、channel) 回顾内容,引出本课时主题 1.回顾内容,引出本课时的主题 上节学习了Go语言数据库编程。本节将开始介绍Go语言并发编程的学习。并发指在同一时间内可以执行多个任务。大家可以观察到,电脑、平板、手机,它们都可以一边播放音乐一边玩游戏,同时还能上网聊天,每个程序都要同时渲染画面和发出声音。随着科技的发展与人类需求的增长,并发变得越来越重要。一台Web服务器会一次处理成千上万的请求。出色的并发性是Go语言的特色之一,本节详细介绍Go语言的并发机制。 2.明确学习目标 (1) 能够理解单道程序与多道程序 (2) 能够掌握并发与并行的区别 (3) 能够理解进程和线程 (4) 能够掌握Goroutine (5) 能够掌握channel 知识讲解 · 单道程序与多道程序 回到在Windows和Linux出现之前的古老年代,计算机编程使用单道程序设计模型,既串行,所有任务一个一个排序执行。一个任务运行完成之后,另一个任务才会被读取。即使CPU空闲,在人机交互时必须阻塞,不能同时播放音乐和浏览网页。显然,串行程序在很多场景下无法满足客户的要求 现代计算机编程采用多道程序设计模型,多个任务轮流使用CPU (当下常见CPU为纳秒级, 1秒可以执行近10亿条指令)。人们在使用计算机时可以边听音乐边上网,是因为人眼的反应速度是毫秒级,所以看似任务同时在运行。这种可以概括为,宏观并行,微观串行。 · 并发与并行的区别 在讨论如何在Go中进行并发处理之前,首先必须了解什么是并发,以及它与并行性有什么不同。 1. 并发 并发(Concurrency)是同时处理许多个任务。实际上是把任务在不同的时间点交给处理器进行处理。在微观层面,任务不会同时运行。 2. 并行 并行(Parallelism)是把一个任务分配给每一个处理器独立完成。多个任务一定是同时运行。并行就是同时做很多事情。乍听起来可能与并发类似,但实际上是不同的。 串行、并行、并发的区别如图所示。 生活中也有类似的场景,比如许多人去打水,多人排队使用一个水龙头,每个人一次性打满水后才轮到下一个人,这种情况就是串行。显然排在后面的人需要等很久才能打到水。 当多人使用一个水龙头时,每个人只能一次接水5秒,用完水后再去排队,这种情况就是并发。此时排在后面的人不需要等太久就能用到水了,宏观上看他们可以同时用到水。 当4个人同时使用4个水龙头打水时,这种情况就是并行,要求打水人数和水龙头数量相等才能做到。但是实际情况是需要打水的人往往要比水龙头的数量多,所以多数情况还是需要并发处理。 · 程序与进程 程序是编译好的二进制文件,在磁盘上,不占用系统资源(CPU、内存、设备)。进程是活跃的程序,占用系统资源。在内存中执行。程序运行起来,产生一个进程。程序就像是剧本,进程就像是演戏,同一个剧本可以在多个舞台同时上演。同样,同一个程序也可以加载为不同的进程(彼此之间互不影响),比如同时运行两个QQ。 · 进程与线程的区别 线程也叫轻量级进程,通常一个进程包含若干个线程;线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,比如音乐进程,可以一边查看排行榜一边听音乐,互不影响。 · 进程与线程的联系 进程和线程是操作系统级别的两个基本概念。计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。进程就

资源预览图

第12章 Go语言并发编程-【千锋教育】Go语言开发实战(慕课版)同步教案
1
第12章 Go语言并发编程-【千锋教育】Go语言开发实战(慕课版)同步教案
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。