public class Process implements Runnable {
public static Set<String> set = new HashSet<String>();
public void run() {
// 1、遍历取出set中元素
// 2、具体业务逻辑
// 3、清空set
set.clear();
}
public void storage(String str) {
set.add(str);
}
}
其他模块会调用storage()向Set中添加元素,而Process会定时取出并处理Set中的元素,如何保证在Process的run()执行的同时,其他模块不会向Set中添加元素呢?如果在步骤2、3之间刚有其他模块向Set中添加元素,这个元素还没有得到处理就被消除掉了,希望得到大家的指点。
添加回答
举报
0/150
提交
取消