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;
    }
}

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 中心频点计算公式_5G中的频点计算及实例分析[通俗易懂]

    中心频点计算公式_5G中的频点计算及实例分析[通俗易懂]什么是ARFCNARFCN,英文全称AbsoluteRadioFrequencyChannelNumber,即绝对无线频道编号,是指在GSM无线系统中用来鉴别特殊射频通道的编号方案。“ARFCN”一词源自于GSM技术,随着新技术的发展,延伸出其他类似术语,如UMTS/WCDMA的UARFCN,E-UTRAN/LTE的EARFCN,以及现在5G/NR的NR-ARFCN。计算公式:…

  • groupadd r mysql_useradd 和groupadd

    groupadd r mysql_useradd 和groupadd1.作用useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。2.格式useradd[-dhome][-sshell][-ccomment][-m[-ktemplate]][-finactive][-eexpire][-ppasswd][-r]name3.主要参数-c:加上备注文字,备注文字保存在passwd的备注栏中。-d:指定用户登入时…

    2022年10月24日
  • 微信公众平台开发——微信授权登录(OAuth2.0)

    微信公众平台开发——微信授权登录(OAuth2.0)

    2021年10月25日
  • make menuconfig执行流程分析[通俗易懂]

    make menuconfig执行流程分析[通俗易懂]在编译内核前,一般是根据已有的配置文件(一般在内核根目录下的arch/arm/configs/文件夹下,把该目录下的xxx_defconfig文件拷贝到内核根目录下,并重命名为.config)来进行编译;或者需要先配置裁剪内核。假设我们要基于一块ARM芯片的开发板配置裁剪内核时,在内核的根目录下运行:makeARCH=armmenuconfig命令后,会弹出如下配置界面:…

  • 5G物理信道和物理信号定义

    5G物理信道和物理信号定义一、上行链路物理信道包含以下信道:1、物理上行链路共享信道PUSCH2、物理上行控制共享信道PUCCH3、物理随机接入信道PRACH其中PUSCH支持的调制方案有:pai/2-BPSKQPSK16QAM64QAM256QAM物理上行链路控制信道支持多种格式:fomat0OFDM符号长度1-2fomat1OFDM符号长度4-14fomat2OFDM符号…

  • linux下载安装yum(ubuntu安装yum工具)

    自动搜索最快镜像插件:yuminstallyum-fastestmirror安装yum图形窗口插件:yuminstallyumex1、安装yuminstall全部安装yuminstallpackage1安装指定的安装包package1yumgroupinsallgroup1安装程序组group12、更新和升级yumupdate全部更新yumupdatepackage1更新指定程序包package1yumcheck-update

发表回复

您的电子邮箱地址不会被公开。

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