Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

Java多线程源码笔记 PDF 下载


分享到:
时间:2020-05-09 14:35来源:http://www.java1234.com 作者:小锋  侵权举报
Java多线程源码笔记 PDF 下载
失效链接处理
Java多线程源码笔记 PDF 下载

本站整理下载:
 
相关截图:
 
主要内容:

⼀、什么是多线程
⼀、初识多线程
1.1介绍进程
讲到线程,⼜不得不提进程了~
进程我们估计是很了解的了,在windows下打开任务管理器,可以发现我们在操作系统上运⾏的程序都
是进程:
进程的定义:
进程是程序的⼀次执⾏,进程是⼀个程序及其数据在处理机上顺序执⾏时所发⽣的活动,进程是
具有独⽴功能的程序在⼀个数据集合上运⾏的过程,它是系统进⾏资源分配和调度的⼀个独⽴单
进程是系统进⾏资源分配和调度的独⽴单位。每⼀个进程都有它⾃⼰的内存空间和系统资源
1.2回到线程
那系统有了进程这么⼀个概念了,进程已经是可以进⾏资源分配和调度了,为什么还要线程呢?
为使程序能并发执⾏,系统必须进⾏以下的⼀系列操作:
(1)创建进程,系统在创建⼀个进程时,必须为它分配其所必需的、除处理机以外的所有资源,如
内存空间、I/O设备,以及建⽴相应的PCB;
(2)撤消进程,系统在撤消进程时,⼜必须先对其所占有的资源执⾏回收操作,然后再撤消PCB;
(3)进程切换,对进程进⾏上下⽂切换时,需要保留当前进程的CPU环境,设置新选中进程的CPU
环境,因⽽须花费不少的处理机时间。
可以看到进程实现多处理机环境下的进程调度,分派,切换时,都需要花费较⼤的时间和空间开销
引⼊线程主要是为了提⾼系统的执⾏效率,减少处理机的空转时间和调度切换的时间,以及便于系统管
理。使OS具有更好的并发性
简单来说:进程实现多处理⾮常耗费CPU的资源,⽽我们引⼊线程是作为调度和分派的基本单位
(取代进程的部分基本功能【调度】)。
那么线程在哪呢??举个例⼦:
也就是说:在同⼀个进程内⼜可以执⾏多个任务,⽽这每⼀个任务我就可以看出是⼀个线程。
所以说:⼀个进程会有1个或多个线程的!
1.3进程与线程
于是我们可以总结出:
进程作为资源分配的基本单位
线程作为资源调度的基本单位,是程序的执⾏单元,执⾏路径(单线程:⼀条执⾏路径,多线程:
多条执⾏路径)。是程序使⽤CPU的最基本单位。
线程有3个基本状态:
执⾏、就绪、阻塞
线程有5种基本操作:
派⽣、阻塞、激活、 调度、 结束
线程的属性:
1)轻型实体;
2)独⽴调度和分派的基本单位;
3)可并发执⾏;
4)共享进程资源。
线程有两个基本类型:
1) ⽤户级线程:管理过程全部由⽤户程序完成,操作系统内核⼼只对进程进⾏管理。
2) 系统级线程(核⼼级线程):由操作系统内核进⾏管理。操作系统内核给应⽤程序提供相应的系统
调⽤和应⽤程序接⼝API,以使⽤户程序可以创建、执⾏以及撤消线程。
值得注意的是:多线程的存在,不是提⾼程序的执⾏速度。其实是为了提⾼应⽤程序的使⽤率,程序的
执⾏其实都是在抢CPU的资源,CPU的执⾏权。多个进程是在抢这个资源,⽽其中的某⼀个进程如果执
⾏路径⽐较多,就会有更⾼的⼏率抢到CPU的执⾏权
1.4并⾏与并发
并⾏:
并⾏性是指同⼀时刻内发⽣两个或多个事件。
并⾏是在不同实体上的多个事件
并发:
并发性是指同⼀时间间隔内发⽣两个或多个事件。
并发是在同⼀实体上的多个事件
由此可⻅:并⾏是针对进程的,并发是针对线程的。
 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐