进程/线程 || 并发/并行

多线程学习—进程/线程 || 并发/并行
1.什么是进程/线程?

1.1 进程:就是一个运行的程序,例如一个运行着的的QQ程序,QQ.exe   、  word.exe 等
规范定义:系统进行资源分配、资源管理的基本单位,具有自己的堆栈、局部变量等,具有自己独立的地址空间每一次启动一个进程就会让系统为之划分具体的地址空间并简历数据表为其维护代码段、堆栈段、数据段相关信息;
1.2 线程:轻量级的进程,程序中的一个部分,就比如office的断电自动保护或者说是备份, 
规范定义:进程中的一个执行单元,进程内部的调度实体,CPU资源调度分配的基本单位,也是一个比进程更小的独立运行的基本单位,所以又被称之为“轻量级的进程”,是一个程序执行的最小单位。
线程之间是没有单独的地址空间的,其需要共享进程中的数据信息,并使用相同的地址空间。
 
 1.3 多线程和多进程区别之一:
   多进程的健壮性是比多线程要好的,因为进程之间的空间是相互独立的,所以在一个进程崩溃后,并不妨碍其他进程的继续执行;
   多线程如果其中一个崩溃,可能导致整个进程的崩溃;
 *****总的来说,多进程切换耗时长、浪费资源、效率较低,但是比较安全;多线程近乎与之相悖

2.什么是并发/并行?

    首先,生活中有很多时候都会选择在事情A结束后,再去执行事情B,这个过程中就不存在并发和并行的问题了,接下来使用比较简单的话来看二者区别。
2.1 并发:刷牙刷到一半,想起来还有一重要的学习视频没看,赶紧停止刷牙转去看视频学习,学习结束后再来刷牙
规范定义:在同一个时间间隔内发生,能在同一段时间中去执行不同的事情,并能先后完成多件事情,
2.2 并行:一边刷牙,想起来还有视频没有学习,于是一边看手机视频学习
规范定义:能在同一个时刻同时开始不同的事情
 
*****对于二者的理解还可以从以下进行:
以往的单核处理器能够完成的就是一个并发事情,其可以通过时间片轮转的方式进行不同事情的切换,从一个角度出发看某一个时间段就是有多个事情在该段时间中被执行了;
现今的多核,其能够将不同的事情分发到不同的核心上在同一个时刻开始执行,彼此互不影响就是并行。

3 多线程的创建方式
线程的创建有以下几种方式:继承Thread类、实现RUNNABLE接口并重写run方法、覆写Callable接口、线程池
附上链接参考这四种具体实现:具体多线程实现代码参考

4 多线程的核心思想
高内聚低耦合的前提之下,实现线程 操作 资源类。
高内聚低耦合具体释义:欢迎点击查看

仍在持续更新学习中,如有错误,欢迎指正!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值