并发是一种解耦策略,他帮助我们把做什么(目的)和何时做(时机)分解开。在单线程应用中,目的与时机紧密耦合,很多时候只要查看堆栈追踪即可断定应用程序的状态。调试这种系统的程序员可以设定断点或断点序列,通过查看到达哪个断点来了解系统状态。
从结构的角度来看,应用程序看起来更像是许多台协同工作的计算机,而不是一个大循环。系统因此会更易于被理解,给出了许多切分关注面的有力手段。
建议将并发相关代码与其他代码分离开来。
两个线程修改共享对象的同一字段时,可能互相干扰,导致未预期的行为。所以我们应谨记数据封装,严格限制对可能被共享的数据地访问。
线程应尽可能地独立,不与其他线程共享资源,每个线程处理一个客户端请求。