java并发编程从入门到精通-----1.进程并发基础概念

《java并发编程从入门到精通》这本书详细介绍了java并发基础的概念\工作原理\编程技巧和注意事项,对java高性能并发编程有极大的参考价值,下面就结合自己对这本书的理解,进行自己学习的过程.(这本书的pdf可以在此点击下载

 CPU核心数线程数

多核心:也指单芯片,多处理器其思想是将大规模并行处理器,集成到一个芯片内处理器并行执行不同的进程

多线程:多线程称可以通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行共享处理器的执行资源,可以最大限度的实现宽发射,乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据和相关,或cache未命中带来的访问内存延时。

CPU时间片轮转机制

CPU时间片轮转机制是一种最古老最简单,最公平,使用最广泛的算法。CPU时间片轮转机制原理解释如下:

如果在时间片结束时进程还在进行,则cpu将剥夺并分配给另一个进程,如果在时间片结束前阻塞或结束,则cpu当即进行切换。调度程序所做的就是维护一张就绪进程列表,当进程用来它时间片后,他将移到队列的尾部。

什么是进程?

进程是程序运行资源分配的最小单位。

是不是线程?

线程是CPU调度的最小单位,必须依赖于建成而存在。

进程与线程对比

贴一张原书上的图吧!!!请原谅我懒

 什么是并行运行?

我们举一个例子,如果有一条高速公路a上面有八条车道,那么最大的并行车辆就是八辆,四条高速公路a,同时并排行走的车辆小于等于8辆时候,车辆就可以并行运行。CPU也是这个原理,一个CPU相当于一个高速公路a,核心数或线程数就相当于并排可以通行的车道,而多个CPU就相当于并排有多条高速公路,而每一个高速公路并排有多个车道。

什么是并发运行?

在操作系统的管理下,所有正在运行的进程,轮流使用CPU哪个进程,允许占用cpu的时间非常短如果一台计算机有多个cpu,或者一个CPU多个核心和线程情况就不一样了,如果进程产生的总进程数小于cpu的核数,则不同的进程的线程可以分配的不同cpu来运行,这便是并行。

什么是吞吐量?

行吞吐量是指系统在单位时间内所处理的信息量。

高并发编程的意义

1.充分利用CPU的资源

2.加快享用用户的时间

3.可以使你的代码模块化,异步化,简单化

高并发多线程要注意的问题

1.以线程之间的安全性

2.线程之间的死循环过程

3.线程太多了,会将服务器资源耗尽形成死机当机

分布式,并行运算,并发运算

还是老样子,贴张图吧

结束语:

这本书第一部分的概念比较多,请大家仔细辨析。 

猜你喜欢

转载自blog.csdn.net/weixin_40657079/article/details/81837610
今日推荐