多线程程序的评价标准

安全性 --- 不损坏对象  程序正常运行的必要条件之一

  • 对象损坏 指对象的状态和设计者的原意不一致 通常指对象字段的值并非预期值
  • 如果一个类即使被多个线程同时使用也能确保其安全性 那么这个类就被称为线程安全类
  • 类库中存在线程安全类:如 java.util.Vector 也存在非线程安全类 如 : java.util.ArrayList 所以 在多线程程序中使用时应注意
  • 线程兼容: ArrayList虽然是非线程安全的 但通过执行适当的互斥处理 也能安全的使用,这种情况称为 线程兼容
  • 某个线程是否线程安全与synchronized无关  

生存性 --- 必要的处理能被执行     程序正常运行的必要条件之一

生存性 (活性) 指无论什么时候 必要的处理都一定能够执行

有时候安全性和生存性会相互制约 ,有时候注重安全性,生存性就会下降 如死锁

可复用性 -- 类可重复性 

提高程序质量的必要条件 (不是程序正常运行的必要条件)

性能 -- 能快速 大批量的执行处理

提高程序质量的应该考虑的条件  (不是程序正常运行的必要条件)

吞吐量:单位时间内完成处理数量 能完成的越多 吞吐量越大

响应性 指从发出请求到受到响应的时间 时间越短 响应性也就越好

   在GUI程序中 到处理"开始"的时间(程序开始响应用户所花费的时间) 

   比到处理''结束''的时间(实际处理所花费的时间)更为重要 [交互性好]

容量 可同时进行的处理数量 

效率 可伸缩性 降级

猜你喜欢

转载自blog.csdn.net/y2052/article/details/82504026