09
12
NIO-通道 NIO-通道
通道基础 基本 顶层的Channel接口,只有两个操作: 检查一个通道是否打开(isOpen())和关闭一个打开的通道(close())public interface Channel{ public boolean isOpen()
2019-09-12
10
NIO-缓冲区 NIO-缓冲区
缓冲区基础 缓冲区是对基本数据元素数组的封装对象,Buffer类及其专有的子类提供了用于处理数据缓冲区的API 缓冲区不是多线程安全的,多线程同时存取时,需要同步 属性 Capacity(容量): 缓冲区大小,创建时设定,不能更改
2019-09-10
06
并发-原子变量与非阻塞同步机制 并发-原子变量与非阻塞同步机制
原子变量 CAS操作 CAS(比较并交换)包含三个操作,需要读写的内存位置V丶进行比较的值A和拟写入的新值B.当且仅当V的值等于A时,CAS才会通过原子方式用新值B来更新V的值,否则不会执行任何操作,无论位置V的值是否等于A,都将返回V原
2019-09-06
02
并发-构建自定义的同步工具 并发-构建自定义的同步工具
构建自定义的同步工具 现有类库不能提供足够的功能时,可以使用内置的条件队列丶显示的Condition对象或者AbstractQueuedSynchronizer来构建自己的同步器 内置的条件队列 条件队列是指一组在等待某个条件变成真的线程
2019-09-02