
JUC
文章平均质量分 85
WellsLau
这个作者很懒,什么都没留下…
展开
-
JAVA多线程并发编程学习笔记4——线程池
JAVA并发编程 7. 线程池 7.1 概念 7.1.1 无限制创建线程的缺点 线程生命周期的开销(创建和关闭线程等开销) 活动线程消耗系统资源,大量空闲线程占用更多内存,给垃圾回收器带来压力。 过多的线程会影响稳定性,甚至拖垮程序。 7.1.2 简单过程和优点 过程:线程池管理一个工作者线程的同构池,并与工作队列绑定。它从工作队列中获取下一个任务并执行。 优点: 可以重用线程,减少创建和关闭线程的开销。 提高响应性,不需要创建线程也就不会延迟任务的执行。 通过调整线程池大小,可以保持处理器原创 2021-11-13 20:18:22 · 535 阅读 · 0 评论 -
JAVA多线程并发编程学习笔记3——显式锁
JAVA并发编程 5. 显式锁 5.1 Lock接口 5.1.1 概念 Lock接口提供了无条件的、可轮询的、定时的、可中断的锁获取操作 加锁和解锁的方法都是显式的 优点:可以中断等待获取锁的线程;可以不必无限等待锁 5.1.2 方法 方法 返回值 描述 lock() void 申请锁,一直到锁可用 lockInterruptibly void 当前线程未被中断则申请锁,否则抛出异常 tryLock() boolean 只在调用时申请锁 tryLock(long, TimeU原创 2021-11-13 20:17:34 · 308 阅读 · 0 评论 -
JAVA多线程并发编程学习笔记2——线程同步和通信
JAVA并发编程 3. 线程同步 3.1 相关概念 3.1.1 含义 线程同步机制是一套用于协调线程之间的数据访问的机制,用来保证线程安全。 3.1.2 方法 锁 volatile关键字 final, static关键字 相关API,如wait(), sleep(), notify()等 3.2 锁 3.2.1 含义 锁可以理解为对共享数据进行保护的一个许可证,线程在访问共享数据前必须先获得锁,一个锁只能同时被一个线程持有,线程在结束访问之后释放锁。 3.2.2 作用 保障原子性:通过互斥保障原子性原创 2021-11-13 20:16:21 · 354 阅读 · 0 评论 -
JAVA多线程并发编程学习笔记1——进程和进程安全
JAVA并发编程 1. 介绍 1.1 进程与线程 1.1.1 概念 进程:计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位(比如内存、文件句柄、安全证书)。程序在各自的进程上运行,可以简单理解为运行的程序。 线程:是进程的一个执行单元,以单一顺序的控制流作为进程的执行分支。共享进程范围内的资源(比如内存、文件句柄),但都有自己的程序计数器、栈和本地变量。 1.1.2 线程的优点 降低开发和维护的开销 在GUI程序中改进用户接口的响应性 在服务器应用中提高资源的利用率和吞原创 2021-11-13 20:14:08 · 187 阅读 · 0 评论