JAVA思维导图系列:多线程0基础

感觉自己JAVA基础太差了,又一次看一遍,已思维导图的方式记录下来

多线程0基础

进程

独立性

拥有独立资源

独立的地址

无授权其它进程无法訪问

动态性

与程序的差别是:进程是动态的指令集合,而程序是静态的指令集合

增加时间概念

有自己的生命周期和不同的状态

并发性

多个进程能够在单核处理器并发运行

多个进程互不影响

和并行的差别:并行是同一时刻多个进程在多个处理器上同一时候运行

而并发是指在同一时刻仅仅能运行一条指令,但互相切换迅速,宏观上看是运行多个指令

线程

线程相对于进程如同进程相对于操作系统

多个线程共享同一进程的资源

轻量级进程

性能高,创建easy

应用:一个浏览器同一时候下载多个图片、一个server同一时候处理多个请求

JAVA多线程

创建

继承Thread

实现Runnable接口(推荐)

生命周期

新建

new 一个Thread

就绪

运行start方法

执行

開始运行run方法

堵塞

进入堵塞

调用sleep方法主动放弃处理器资源

想获得一个同步检測器,但改同步检測器被其它资源所占有

调用一个堵塞式的IO方法,在该方法返回前,线程堵塞

等待某个notify通知

调用suspend挂起

解除堵塞

调用sleep超过指定时间

调用堵塞式IO方法已返回

成功获得了试图要得到的同步检測器

等待某个通知时,其它线程发出了通知

处于挂起的线程调用了resume方法

死亡

run方法结束

程序抛出一个未捕获的异常

调用stop方法

JAVA思维导图系列:多线程0基础

时间: 2024-11-05 22:23:10

JAVA思维导图系列:多线程0基础的相关文章

JAVA思维导图系列:多线程初级

感觉自己JAVA基础太差了,重新看一遍,已思维导图的方式记录下来 多线程初级 进程 独立性 拥有独立资源 独立的地址 无授权其他进程无法访问 动态性 与程序的区别是:进程是动态的指令集合,而程序是静态的指令集合 加入时间概念 有自己的生命周期和不同的状态 并发性 多个进程可以在单核处理器并发执行 多个进程互不影响 和并行的区别:并行是同一时刻多个进程在多个处理器上同时执行 而并发是指在同一时刻只能执行一条指令,但互相切换迅速,宏观上看是执行多个指令 线程 线程相对于进程如同进程相对于操作系统 多

JAVA思维导图系列:多线程中级

多线程中级,包含控制线程的几种方法.线程的同步.线程组,有返回值的线程.线程之前的通信.线程池和线程的几个相关类 线程同步 当多个线程访问同一资源时,加synchronized对资源进行加锁 synchronized可以修饰代码块,修饰方法 只对可以改变竞争资源的方法加锁 只有多线程才会出现线程安全问题 释放锁的条件 同步方法.代码块结束 出现未处理的异常 调用wait,将本线程置为就绪状态 sleep或者yield.suspend不会释放同步锁 同步锁(Lock),显示加锁.释放锁 读写锁(R

[Java 并发] Java并发编程实践 思维导图 - 第五章 基础构建模块

根据<Java并发编程实践>一书整理的思维导图.希望能够有所帮助. 第一部分: 第二部分:

java思维导图

      1.Java基础知识 2.面向对象 3.常用API 4.集合IO 5.多线程.网络编程.反射.设计模式 原文地址:https://www.cnblogs.com/aeon/p/9944556.html

Oracle(sql)文盲大扫除思维导图系列(二)——常用sql函数

继续上图 一些demo select min(sal),max(sal),avg(sal),sum(sal),count(*) from emp; --having 对分组结果进行过滤 select deptno,avg(sal) from emp group by deptno having avg(sal) > 2000;

Oracle(sql)文盲大扫除思维导图系列(三)——多表连接查询子查询

继续上图 一些demo --通过连接运算符可以实现多个表查询,连接是关系数据库模型的主要特点. --在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来. --一般来说,连接查询比嵌套查询的效率高一点.所以,在Transact-SQL中推荐使用这种方法. select * from emp; select * from dept; select * from salgrade; --先来看内连接,内连接是最典型和最常用的连接运算,内连接通常通过连接谓词或运算符(如joi

Effective JAVA 思维导图

java基础思维导图

1.Java 简介.png 2.java主要特性.png 3.java发展历史.png 4.java 开发环境配置.png 5.java 基础语法.png 6.java基本概念.png 7.java面对对象 .png 8.java面对对象三大特性.png 9.java面对对象C.png 10.java基本数据类型.png 11.java基本数据类型.png 12.Java 变量类型.png 13.java修饰符.png 14.java运算符A.png 15.java运算符B.png 16.jav

小程序思维导图(一)

写在前面 首先,很感谢大家喜欢我的思维导图. 有网友评论说:思维导图实际就是一种比纯文字更贴近人理解的模型--知识关系.的确,思维导图又称为脑图,是一种适合头脑风暴模式,同时又适合梳理点与点之间的一种表现形式.当然,java作为一门语言,涉及的的技术很多,知识面也是很广.小小一张思维导图也无法容纳这么多信息,因此想要深入了解思维导图中的每一个节点就需要另外上网查找资料或查看相关书籍.当然,我偶尔也会在节点中给出相关的链接.通过链接至少可以加深对每一个知识点的印象. 小程序 前段时间炒得很火的小程