技巧和窍门
在最后一节,我们总结一些前面章节中没有讲解过的技巧和窍门:
- 尽可能使用并发设计模式:软件开发中,设计模式是常见问题的解决方案。它们通常用于软件开发和并发应用中,且无异常。诸如信令、汇合和互斥锁之类的模式定义了如何在具体情况下实现并发应用,并且它们已经应用到并发编程中。
- 在最高级别实现并发:像Java并发API这种具有丰富的线程API,提供不同的类实现应用中的并发。尝试使用提供更高抽象级别的类,会让算法实现更加简单,并且这些类经过优化,性能比直接使用线程更好。因此,性能绝对不是问题。
- 考虑可扩展性:实现并发算法的一个主要目标是充分利用计算机所有资源,尤其是处理器或核心数。但处理器数量会发生改变,在设计并发算法时,不要假定执行应用的内核或处理器的数量,而是动态获取系统信息。例如在Java中,可以在算法中使用Runtime.getRuntime().availableProcessors()方法来得到将要执行的任务数量。
- 尽可能使用本地线程变量而不是静态和共享线程变量:线程本地变量是一种特殊的变量,每个任务对于这种变量都有独立值,因此无需任何同步机制对它进行访问保护。
更多关注
- 本章所有小节