美文网首页Model程序员Android技术知识
Java多线程(一)多线程基础之进程、线程、并发、并行。

Java多线程(一)多线程基础之进程、线程、并发、并行。

作者: iDaniel | 来源:发表于2017-03-15 18:46 被阅读243次

无论在哪种编程语言中,多线程都是重中之重。所以说掌握多线程并发编程是一个优秀的程序员所必须的一项技能。虽然平时都有封装好的现成的可以使用,但是知识呢要吃到肚子才更安心。下面我们就通过一系列的博文,来系统的介绍下多线程。

首先我们还是得从进程、线程基础知识开始介绍。

什么是进程?

① 进程是系统进行资源分配的最小单位,也是系统进行资源调度的基本执行单元。
② 它是程序的一次执行过程。简单点的说“进程是正在运行的程序的实例”。
③ 每个进程运行在受保护的独立的内存空间内,进程和进程之间互不干扰。

什么是线程?

① 线程是CPU调度的最小单位,是进程中的一个实体。
② 每一个应用程序在启动之后,都会默认开启一条主线程,除了主线程,其他的线程都是子线程。
③ 一个线程可以创建和撤销另一个线程。(线程的生命周期放在下一篇博文里面。)

进程、线程区别是什么?

① 进程和线程都是程序运行的基本单元,一个程序至少有一个进程,一个进程至少有一个线程。
② 线程的划分尺度小于进程,使得多线程程序的并发性高。
③ 同一个进程中的多个线程之间可以并发执行,线程共享内存,从而极大地提高了程序的运行效率。

关于并发、并行的区别

并发
简单的来说就是指一个时间段内,多个任务同时处于运行活跃状态,而不是在同一时刻运行多个任务。那问题来了,为什么我们感觉像是多个任务同时执行的呢?这是因为每个线程都被分了一个时间段,叫做时间片。因为CPU处理速度很快,所以看上去就是多个任务在同时执行,实际上就只有一个任务在执行。

并行
并行相对来说能简单些,指若干个程序段同时在系统中运行,这些程序的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,无论从微观还是宏观,程序都是一起执行的。

举个例子
在幼儿园呢有很多小宝宝对吧,现在有个小宝宝(程序或者线程)不开心,哭了。其他小宝宝受到这个小宝宝情绪感染,陆续开始哭,这时你(CPU)要快速把一个小玩具递给一个正在哭的小宝宝,他有了小玩具就不哭了。理论上只要你够快(CPU执行速度),谁哭就把这个小玩具送给谁,就没有小宝宝哭了,这就是并发。并行就是多了几个幼师,每个幼师都送给各自宝宝一个玩具,每个宝宝现在都有玩具了,这就是并行。

写完喽!ㄟ(▔,▔)ㄏㄟ(▔,▔)ㄏㄟ(▔,▔)ㄏ


知识重在总结和梳理,只有不断地去学习并运用,才能化为自己的东西。当你能为别人讲明白的时候,说明自己已经掌握了。

欢迎转载,转载请注明出处!

如果有错误的地方,或者有您的见解,还请不啬赐教!

喜欢的话,麻烦点个赞!

Java中的多线程(三)关于多线程管理的相关函数说明
Java中的多线程(二)线程的创建及线程的生命周期

相关文章

  • Java多线程知识点汇总

    Java 多线程 多线程:指的是这个程序(一个进程)运行时产生了不止一个线程 并行与并发:并行:多个cpu实例或者...

  • iOS - Multi-Thread

    概念篇 进程 线程 多线程 单核多线程 & 多核多线程 并行 & 并发 同步 & 异步 队列 队列 & 任务 的执...

  • 线程

    目录: 线程与进程的关系:什么叫“并发”?什么叫“并行”?多线程的好处:Java 的创建多线程的方法(三种):线程...

  • python网络爬虫:多任务-进程、线程

    一 、实现多任务的方式 多线程多进程协程多线程+多进程 并行,并发 并行:同时发起同时执行,(4核,4个任务)并发...

  • 进程与线程,并发与并行

    在进行Java多线程内容之前,需要简单先了解一下程序、进程、线程、并行与并发这些概念,弄懂了这个,对于学习多线程,...

  • 多线程方法

    一. 基础并行多线程结构 二. 标准多线程方法,控制并发线程数,带线程锁

  • iOS 多线程技术总结

    概览 进程与线程的概念 多线程的由来 并行与并发 多线程的实现 串行与并行 线程的几种状态 串行队列与并发队列区别...

  • android 多线程 — 线程的面试题和答案

    这里都是我从各个地方找来的资料,鸣谢: Java多线程干货系列—(一)Java多线程基础 JAVA多线程和并发基础...

  • Java多线程(一)多线程基础之进程、线程、并发、并行。

    无论在哪种编程语言中,多线程都是重中之重。所以说掌握多线程并发编程是一个优秀的程序员所必须的一项技能。虽然平时都有...

  • java多线程-1-并发编程

    并行与并发 并发两个队伍排一个咖啡机单cpu,多线程 并行两个队伍排两个咖啡机多cpu,多线程 进程与线程 进程间...

网友评论

本文标题:Java多线程(一)多线程基础之进程、线程、并发、并行。

本文链接:https://www.haomeiwen.com/subject/fwbfnttx.html