当前位置:嗨网首页>书籍在线阅读

37-其他提示和技巧

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

11.14 其他提示和技巧

最后一节包含了一些本章尚未介绍的提示和技巧。

  • 只要有可能就使用并发设计模式:在软件工程学中,设计模式是一些常见问题的解决方案。设计模式被广泛地使用在软件开发中,并发应用程序也不例外。例如信令、交汇和互斥,它们都是在具体场景下定义了如何实现并发程序的模式,而且它们都已经被用于并发工具的实现。
  • 在最高层面上实现并发:丰富的线程化API(比如Java并发API),提供了不同的能在应用程序中实现并发的类。请尝试使用抽象级别较高的那个。更高的抽象让算法的实现更加简单,而且相比直接使用线程,在性能上它也有着更多的优势。所以,性能也不再是问题。
  • 考虑伸缩性:并发算法的一个主要目标是提高计算机资源的利用率,特别是对处理器数量或内核数量的利用率。但是随着时间的推移,这些数量可能会发生变化。在设计并发算法时,不要假定应用程序所能拥有的内核数量,而是应从系统中动态获取。比如,可以在Java中使用 Runtime.getRuntime().availableProcessors() 获取内核的数量,并将其用在算法中,计算要执行的任务数量。
  • 相比静态变量和共享变量,请在可能的情况下优先选用 ThreadLocal 变量: ThreadLocal 是一种特殊的变量。由于每个任务都在这个变量中拥有独立的值,所以不需要使用同步机制来保护对它的访问。