注册 登录
Java基础教程

第一章: 开启Java学习之旅

第二章: 掌握计算机基础知识

第三章: 掌握命令行基础知识

第四章: 我的第一个Java程序

第五章: Java编程必备基础

第六章: Java编程的核心:控制结构

第七章: Java面向对象基础

第八章: Java面向对象进阶

第九章: Java字符串类型

第十章: Java数组与数据结构

第十一章: Java高级数据结构

第十二章: Java并发编程基础

首页 > Java基础教程 > 第十二章: Java并发编程基础 > 12.1节: 理解并发

12.1节: 理解并发

薯条老师 2022-01-05 16:57:19 145314 0

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师的线下Python小班办得很好,学员的平均就业薪资有11K。线下小班培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

12.1.1 理解并发

并发,其字面意思为不同的事物在同一个间隔内交替发生。交替是指多个事件在一个时间段内轮流出现,假设有三个事件,分别为A,B,C,时间段为9点到10点,那么并发就是指A事件,B事件,C事件,在9点到10点这个时间段内交替发生。这三个事件发生的顺序既可以是有序,也可以是随机,事件之间的间隔长短不一。下图很好地解释了并发这一概念:

图片.png 

 

从上图可以看出,从9点到10点这个时间段内,A,B,C事件交替发生,这就是所谓的并发。

并发是在一段时间内交替发生,与之相近的概念是并行,并行是指多个事件同时执行。

计算机中的并发概念,可以从CPU执行程序指令的角度去理解。假设程序员在代码中编写了三个模块,分别为A,B,C,那么计算机中的并发,就是让CPU在一个时间段内,交替地运行这三个模块。程序中的模块,对应于CPU中的指令,在计算机中,如何让CPU在一个时间段内交替地运行这些程序指令,是由操作系统来进行调度的。

12.1.2 生活中的并发

生活中的并发很常见,只要满足在同一个时间段内交替地发生这样一个概念,就是并发。举个简单的例子,人可以专心地做一件事,但在做事的过程中可能会被打断,比如电话铃响了,然后接起电话与人交谈,挂完电话又继续做被打断之前的事。这个例子与计算机执行程序的过程是类似的,CPU在执行当前程序的过程中,会被其它硬件或软件中断,接着转而运行其它的程序。

12.1.3 计算机中的并发

早期的计算机中只有一个CPU核心,程序在计算机中是并发运行的,但由于计算机的切换速度很快,所以给人的感觉是多个程序在同时运行。下图所示为程序之间的切换过程:

图片.png 

计算机程序的并发执行,其本质是由操作系统分配CPU时间给多个程序,每个程序被分配了少量的时间片,程序在这个时间片内独占CPU,而其它的程序都处于休眠状态。当处于时间片内的程序执行完毕,操作系统会执行一次调度,再从处于休眠状态的程序中,按照一定的调度策略选出一个程序来继续运行。

从硬件的角度来看,因为只有一个CPU核心,所以多个程序只能交替运行,后面随着计算机硬件技术的发展,出现了多核CPU,才改变了这一局面。

多核CPU意味着计算机能同时运行多个程序。同时运行即并行,关于并行的概念会在下节教程中进行讲解。

11.2.4 最具实力的小班培训

来这里参加Python和Java小班培训的学员大部分都找到了很好的工作,平均月薪有11K,学得好的同学,拿到的会更高。由于是小班教学,所以薯条老师有精力把每位学员都教好。打算参加线下小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取学习资料:

关注微信公众号.jpg











欢迎 发表评论:

请登录

忘记密码我要注册

注册账号

已有账号?请登录