线程的优势
作用
- 使用得当,可以降低程序的开发维护成本,提升复杂程序的性能。
- 能将大部分的异步工作流转成串行工作流,模拟人类的工作方式和交互方式;
- 降低代码复杂度,使代码容易编写、阅读。
优势
- 发挥多处理器的优势。
- 建模简单
针对最终用户来讲,让用户感觉到建模简单。 - 异步事件的简单处理,如果底层操作系统对线程的支持好,编程使用NIO的情况将减少;
- 用户界面响应问题
线程带来的风险
- 安全性问题,主要是同步处理的问题
@NotThreadSafe
public class UnsafeSequence{
private int value;
public int getNext(){
return value++;
}
}
注意@NotThreadSafe @ThreadSafe @Immutable标注的使用。
线程执行的交替方式,将对执行结果产生影响。
//线程安全的同步序列
@ThreadSafe
public class Sequence{
@GardeBy("this") private int value;
public synchronized int getNext(){
return value++;
}
}