![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
吾行远方
没有理想何必远方
展开
-
多线程容器
1、容器1.1、同步容器与并发容器同步容器Vector、HashTable – JDK提供的同步容器类Collections.synchronizedXXX 本质是对相应的容器进行包装同步容器类的缺点在单独使用里面的方法的时候,可以保证线程安全,但是,复合操作需要额外加锁来保证线程安全使用Iterator迭代容器或使用使用for-each遍历容器,在迭代过程中修改容器会抛出Con...原创 2020-01-09 09:25:18 · 319 阅读 · 0 评论 -
原子类
1、什么是原子类一度认为原子是不可分割的最小单位,故原子类可以认为其操作都是不可分割为什么要有原子类?对多线程访问同一个变量,我们需要加锁,而锁是比较消耗性能的,JDk1.5之后,新增的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式,这些类同样位于JUC包下的atomic包下,发展到JDk1.8,该包下共有17个类,囊括了原子更新基本类型、原子更新数组、原子更新属性、...原创 2020-01-09 09:24:02 · 129 阅读 · 0 评论 -
线程间的通信
1、wait、notify、notifyAll何时使用在多线程环境下,有时候一个线程的执行,依赖于另外一个线程的某种状态的改变,这个时候,我们就可以使用wait与notify或者notifyAllwait跟sleep的区别wait会释放持有的锁,而sleep不会,sleep只是让线程在指定的时间内,不去抢占cpu的资源注意点wait notify必须放在同步代码块中, 且必须拥有当前...原创 2020-01-09 09:23:48 · 124 阅读 · 0 评论 -
并发编程
进程与线程的区别 进程:是系统进行分配和管理资源的基本单位 线程:进程的一个执行单元,是进程内调度的实体、是CPU调度和分派的基本单位,是比进程更小的独立运行的基本单位。 线程也被称为轻量级进程,线程是程序执行的最小单位。 一个程序至少一个进程,一个进程至少一个线程。 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段, ...原创 2020-01-09 09:22:29 · 236 阅读 · 0 评论