Java:这种业务逻辑如何做到线程安全呢?
怪我咯
怪我咯 2017-04-17 15:21:24
[Java讨论组]
public class Process implements Runnable {
    public static Set set = new HashSet();

    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)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号