码迷,mamicode.com
首页 > 其他好文 > 详细

流控思路——多生产者定量消费

时间:2015-10-29 18:39:14      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

多个生产线程,当生产到一定数量时对结果进行批量处理,触发一个消费线程将全部结果取走处理。多人往一个篮子里装东西,篮子装满时还需要接着装东西,用另外一个空篮子接着装,装满的篮子要么谁最后装满谁送到指定地点,要么叫人把篮子提走。

private List<String> nowList = new ArrayList<String>(150);
protected void put(String value) 
{
    List<String> fullList = null;
    synchronized (this)
    {
        this.nowList.add(value);
        /*达到100个,篮子装满提走*/
        if (this.nowList.size() >= 100)
        {
            fullList = this.nowList;//把满的篮子移到一旁
            this.nowList = new ArrayList<String>(150);//使用空篮子
        }
    }

    if (null != fullList) {
        new Thread(fullList).start();//叫人提走
    }
}


流控思路——多生产者定量消费

标签:

原文地址:http://my.oschina.net/h2do/blog/523599

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!