线程好久没碰了,总觉得不踏实,还是来复习加上深入学习。照着《Java 并发编程实践》这本书阅读练习,走起来。
下边的内容实际上也就是这本书的摘录加上自己的一点点想法。
线程安全性的定义:当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。
无状态对象一定是线程安全的,因为在执行线程时,没有共享的变量,不会相互影响。举例为无状态的servlet,在计算过程中所有变量都存在其中的局部变量。
原子性定义:一个操作序列中包括多个操作,然而这个操作序列不能被打断。
在原子性的过程中,存在的问题包括竞态条件和复合操作。
为了维护线程的安全性,引进加锁机制。
内置锁:同步代码块(Synchronized Block) 代码在进入这个代码块之前自动获得锁,并且在退出同步代码块时自动释放锁。这样就保证只有一个线程在执行内置锁保护的代码块,维护原子性原则,一组语句作为一个不可分割的单元被执行。
重入:当线程在请求到自己所持有的锁时,则会成功进入。
用锁来保护状态:
活跃性与性能:
啊!读第一遍是感觉好困难的样子,继续往下看,然后再回来复习。