1、避免它。仅在必要时引入同步;
2、隔离它。将同步的需要集中到一个职责单一的类中,让它的功能尽可能地少而集中。确保尽可能少的客户端代码会与同步类打交道。确保尽可能少的方法会与共享数据打交道。
3、共享类、或者“服务器”类应当提供同步,而不是完全依赖于客户端来进行同步。
4、如果服务器类没有提供同步,考虑编写一个“包装器”类来添加同步,并将方法调用委托给服务器类。
5、使用java.util.concurrent包中的同步类库。
1、避免它。仅在必要时引入同步;
2、隔离它。将同步的需要集中到一个职责单一的类中,让它的功能尽可能地少而集中。确保尽可能少的客户端代码会与同步类打交道。确保尽可能少的方法会与共享数据打交道。
3、共享类、或者“服务器”类应当提供同步,而不是完全依赖于客户端来进行同步。
4、如果服务器类没有提供同步,考虑编写一个“包装器”类来添加同步,并将方法调用委托给服务器类。
5、使用java.util.concurrent包中的同步类库。