并发
资源的分配与调度
线程安全问题
多线程访问临界资源
解决思想
原子性 可见性 有序性
解决
- 同步互斥访问:
1)synchronized关键字修饰表示该方法会使用到临界资源
2)synchronized关键字修饰表示该方法执行要求线程获得对象锁
3)代码块执行完之后,系统会自动释放对锁的占用 - lock:
- 手动设置锁
- 手动释放锁
- 内存读取
Volatile保证变量每次需要到主存中读取,而不是寄存器
保证了可见性
只能修饰本身具有原子性的变量
资源调度
wait notify
await signal
应用:线程安全容器
vector
hashtable
concurrenthashmap
网友评论