Task 生成排队人数任务线程

Task 生成排队人数任务线程Task 生成排队人数任务线程

大家好,又见面了,我是你们的朋友全栈君。

package main.com.lift;

import com.google.common.collect.Lists;

import java.util.List;
import java.util.Queue;
import java.util.concurrent.Callable;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.LinkedBlockingQueue;

public class Task implements Callable<Queue<Integer>> {
    List<Integer> loucengList;
    CyclicBarrier cyclicBarrier;
    LinkedBlockingQueue<Integer> queue;
    public Task(CyclicBarrier cyclicBarrier,List<Integer> loucengList,LinkedBlockingQueue<Integer> queue){
        this.cyclicBarrier=cyclicBarrier;
        this.loucengList=loucengList;
        this.queue=queue;
    }
    @Override
    public Queue<Integer> call() throws Exception {
        Queue<Integer> childQueue= Lists.newLinkedList();
        try{
            cyclicBarrier.await();
            do{
                synchronized (queue){
                    if(queue.size()>0){
                        int a=queue.poll();
                        if(loucengList.toString().contains(a+"")){
                            childQueue.offer(a);
                        }else {
                            queue.offer(a);
                        }
                    }
                }
                System.out.println(","+queue.size());
            }while (queue.size()>0);
        }catch (Exception e){
            e.printStackTrace();
        }
        return childQueue;
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105943.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • google search_google.com

    google search_google.comgson中字符串转换为json数据:StringtestString=”‘bgColorPc ‘:’red'”;JsonObjectjsondetail=newJsonParser().parse(testString).getAsJsonObject();StringbgColorPc=jsondetail.get(“bgColorPc”).getAsStrin

    2022年8月23日
    5
  • android传感器高级编程_传感器程序编写

    android传感器高级编程_传感器程序编写1.Android的三大类传感器Android传感器按大方向划分大致有这么三类传感器:动作(Motion)传感器、环境(Environmental)传感器、位置(Position)传感器。(1)动作传感器这类传感器在三个轴(x、y、z)上测量加速度和旋转角度。包括如下几个传感器:加速(accelerometer)传感器、重力(gravity)传感器、陀螺仪(gyrosc

    2022年9月29日
    3
  • PAT刷题C语言1002——写出这个数

    PAT刷题C语言1002——写出这个数思路:首先要定义一个字符数组a[0]-a[9]应该对应:ling到shi的拼音对于测试数据一次取一位并进行累加sum,遇到0可以丢弃把sum按位取出对应数组做输出(要求sum的位数,遇到最后一位时候不能输出回车)参考答案:…

    2022年8月11日
    9
  • Java进阶篇设计模式之二 —– 工厂模式

    Java进阶篇设计模式之二 —– 工厂模式

    2021年6月9日
    126
  • 巡检,不再要你磨破机房门槛

    巡检,不再要你磨破机房门槛

    2021年8月1日
    62
  • Java中分割字符串

    Java中分割字符串plit 的实现直接调用的 matcher 类的 split 的方法。在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。在正则表达式中有特殊的含义的字符,我们使用的时候必须进行转义,示例:public class StringSplit { public static void main(String[] args) { …

    2022年6月13日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号