synchronized add-un

public class SynUtils {


static List<String> listSyn=new ArrayList<~>();


public static void unSyn(String str){
synchronized (listSyn) {
listSyn.remove(str);
}
}

 

public static boolean addSyn(String str) {
synchronized (listSyn) {
if(listSyn.contains(str)) return false;
listSyn.add(str);
return true;
}
}

public static boolean addSyn2(String str, long time) {
synchronized (listSyn) {
if(listSyn.contains(str)) {
if(time <= 0) return false;
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
return addSyn2(str, time-300);
}
listSyn.add(str);
return true;
}

 


}

上一篇:synchronized 中的 4 个优化,你知道几个?,腾讯技术官发布的“神仙文档”火爆网络


下一篇:线程的同步