Java并发编程全解图览
2020-09-14 15:23:33 2 举报
AI智能生成
Java并发编程一图全解
作者其他创作
大纲/内容
基本概念
线程 与 进程
进程
进程是程序的一次执行过程,是系统运行程序的基本单元,每个进程都有独立的代码和数据空间,进程间的切换会有较大的开销,一个进程包含1--n个线程。
每个独立运行的程序都是一个进程,比如 电脑同时运行着QQ与微信,那么这是两个独立的进程
线程
线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源,也能访问同一个进程所创建的对象资源
线程切换的开销比进程小
一个进程包含多个线程
并发 与 并行
并发
宏观上来看,同一时间段,多个任务都在执行(单位时间内内不一定同时执行)
并行
单位时间内,多个任务同时执行
多线程处理的优势
充分利用多处理器
更好处理异步操作
多线程处理的风险
多线程会造成安全性问题,多线程环境中执行代码更容易出错
导致死锁、饥饿以及活锁等问题,导致程序出错
性能问题,不合理的设计会导致系统性能急剧下降
Java并发编程基础详解
https://www.processon.com/view/5cc2bd36e4b0841b84410cc9#map
Java线程状态
基本状态
初始(New)
新创建了一个线程对象,但还没有调用start()方法
就绪(Runnable)
处于可运行状态的线程正在Java虚拟机中执行,但它可能正在等待来自操作系统(如处理器)的其他资源
阻塞(BLOCKED)
表示线程阻塞于锁
等待(WAITING)
进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断)
超时等待(TIMED_WAITING)
该状态不同于WAITING,它可以在指定的时间后自行返回
终止(TERMINATED):表示该线程已经执行完毕
(已终止)TERMINATED
终止线程的线程状态。线程正常完成执行或者出现异常
状态图转换图
来自: https://blog.csdn.net/qq_22771739/article/details/82529874
Java并发编程
参考资料
Java并发编程实战
博客
https://www.cnblogs.com/reformdai/p/11039843.html
修改历史
2020年9月13日 创建导图
2020年9月14日 集成Java线程池详解
持续更新,未完待续...
常用的并发包与工具类
Java并发模型
设计线程安全类
Java线程池详解
0 条评论
回复 删除
下一页