当然局部变量也能避免争抢,但局部变量作用范围仅在当前方法,ThreadLocal可以实现线程内的资源共享。
应用案例:
public class WmThreadLocalUtil {
private final static ThreadLocal<WmUser> WM_USER_THREAD_LOCAL = new ThreadLocal<>();
//存入线程中
public static void setUser(WmUser wmUser){
WM_USER_THREAD_LOCAL.set(wmUser);
}//从线程中获取
public static WmUser getUser(){
return WM_USER_THREAD_LOCAL.get();
}//清理
public static void clear(){
WM_USER_THREAD_LOCAL.remove();
}}