首页 > 编程语言 >Executor建立线程示范代码java

Executor建立线程示范代码java

时间:2025-01-14 12:32:35浏览次数:3  
标签:java sellout int Executor 线程 TicketStation new static public

import java.util.concurrent.Executor;

public class test {
    public static void main(String[] args) throws InterruptedException {
        SubExecutor subExecutor=new SubExecutor();
        subExecutor.execute(new TicketStation(200));
        subExecutor.execute(new TicketStation(200));
    }

    static class TicketStation implements Runnable{
        static int TicketsCount=0;
        static int sellout=0;
        public TicketStation(int count){
            TicketsCount=count;
        }
        @Override
        public void run(){
            while (TicketsCount>sellout) {
                try {
                    sellout++;
                    System.out.println("ticket sell out:"+sellout);
                    Thread.sleep(50);
                } catch (InterruptedException ex) {
                }
            }

        }
    }
    static class SubExecutor implements  Executor{
        @Override
        public void execute(Runnable r)
        {
            new Thread(r).start();
        }
        
    }
}

执行结果:

标签:java,sellout,int,Executor,线程,TicketStation,new,static,public
From: https://blog.csdn.net/geniusChinaHN/article/details/145133412

相关文章

  • 多线程同步与任务完成等待机制总结
    多线程同步与任务完成等待机制总结在多线程编程中,合理的同步机制能够有效地协调多个线程之间的执行顺序,确保任务按照预期执行。常见的同步机制包括CountDownLatch、CyclicBarrier、CompletableFuture、ExecutorService.invokeAll()和Phaser。接下来,我们将通过具体场景加......
  • Java Dubbo 面试题
    谈谈你理解的Dubbo?Dubbo是一个高性能的JavaRPC框架,它提供了服务的注册、发现、调用以及监控等功能,使得开发者可以方便地构建分布式系统和服务化架构。服务治理:Dubbo提供了一套服务治理的解决方案,包括服务的注册、发现、负载均衡、容错和监控等。高性能:Dubbo支持多种协议,如Du......
  • Java高级开发工程师面试题3道
    面试题1:内存泄漏与垃圾回收机制问题:在最近的一个项目中,我们遇到了一个内存泄漏的问题。我们的应用程序运行一段时间后,JVM的堆空间使用率逐渐增加,直到最终触发了OutOfMemoryError错误。你能分析一下可能的原因,并给出解决办法吗?请用具体的例子来说明。回答:内存泄漏是指程......
  • C++中线程同步与互斥的4种方式介绍、对比、场景举例
    在C++中,当两个或更多的线程需要访问共享数据时,就会出现线程安全问题。这是因为,如果没有适当的同步机制,一个线程可能在另一个线程还没有完成对数据的修改就开始访问数据,这将导致数据的不一致性和程序的不可预测性。为了解决这个问题,C++提供了多种线程同步和互斥的机制。1.......
  • JavaScript基础01
    一、基本情况#1、介绍JavaScript是一门解释性的脚本语言,主要用来给HTML网页增加动态功能。通常的js是运行在浏览器环境下的,可以帮助我们去控制页面,实现丰富的功能。会有dom和bom的api去操作html文档和浏览器的一些功能。nodejs是运行在计算机环境下的。语法一样,但是因为环......
  • Java学习,集合遍历
    Java遍历集合(如List, Set, Map等)通常有多种方法。遍历集合的方式,包括传统for循环、增强的for循环(也称"for-each"循环)、迭代器(Iterator)以及流(Stream)API。示例:for循环遍历List:List<String>list=Arrays.asList("Apple","Banana","Cherry");for(inti=0;i<......
  • Java学习,集合打乱顺序
    Java将一个集合中的元素顺序打乱,可以使用Collections类中的shuffle方法。这个方法是一个静态方法,它接受一个实现了List接口的集合作为参数,并使用一个默认的随机源对该集合进行随机排序,从而打乱元素的顺序。使用Collections类Collections.shuffle(),例1:importjava.util.*;......
  • 【JAVA 基础 第(18)课】HashSet 使用方法详解
    HashSet:Set接口的实现类,存放无序的,不可重复的元素判断是否为重复的对象比较hashCode()方法的返回值,如果不同,判定为不同的对象,如果相同,执行第二步判断equals()方法的返回值,如果为true,则判为相同的对象,如果为false,则为不同的对象publicclassHashSetTest{ publicstatic......
  • 【MSF代码审计】Java木源码分析
    免责声明由于传播、利用本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,一旦造成后果请自行承担!很喜欢一位师傅说的话:"红队能有很多标准板和长板,但是不能有短板"。今天学习免杀,msf开源的可以分析代码,那就先来看看msf怎么写的吧开启分析之路1、......
  • Java基础
    数据类型强类型语言要求变量的使用要严恪符合规定,所有变量都必须先定义后才能使用,初始化(安全)而JavaScript是弱类型语言八大基本数据类型publicclassDemo02{publicstaticvoidmain(String[]args){//八大基本数据类型 //整数 intnum1=10;//最......