线程安全性的定义: 最核心概念:准确性,当多个线程访问某个类的时,这个类始终都能biao表现出正确的行为,那么就称这个类是线程安全的。
原子性:在线程安全中,要保证操作是原子性的,也就是能够作为不可分割的操作来实现的。可以通过加锁把复合的操作原子化处理。
加锁机制 : 1.通过内置的锁机制:同步代码块:synchronized 分为两个部分: 锁的'对象引用:方法调用的对象 锁保护的代码块:synchronized关键字修饰的方法 2. 内置锁是可以重入的。
用锁来保护状态:常见加锁约定:将所有的的可变状态都封装在对象内部,并通过对象的内置锁对所有访问可变状态的代码路径进行同步,使得在该对象上不会发生并发访问。、
活跃性与性能:尽量将不影响共享状态且执行实践较长的操作从同步代码块中分离出去。
2018-10-17 22:55分留