首页 > 其他分享 >线程池

线程池

时间:2023-03-13 21:59:17浏览次数:39  
标签:Thread currentThread Executors System 线程 es

基本原理:

 

 

 

 

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ExecutorsDemo {

    // 创建线程池的两种方法
    // 1、Executors.newCachedThreadPool();
    // 2、Executors.newFixedThreadPool(10); 指定线程池最大值

    public static void main(String[] args) {
        method1();
        method2();

    }

    private static void method2() {
        // 参数不是初始值,是最大值
        ExecutorService es = Executors.newFixedThreadPool(10);
        es.submit(() -> {
            System.out.println(Thread.currentThread().getName() + "执行了");
        });

        try {
            Thread.sleep(10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        es.submit(() -> {
            System.out.println(Thread.currentThread().getName() + "执行了");
        });

        // 关闭线程池
        es.shutdown();
    }

    private static void method1() {
        // Executors创建一个线程池
        // ExecutorService控制线程池
        // 创建一个线程池,池子默认是空的,默认最多可容纳int的最大值
        ExecutorService es = Executors.newCachedThreadPool();

        es.submit(() -> {
            System.out.println(Thread.currentThread().getName() + "执行了");
        });

        try {
            Thread.sleep(10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        es.submit(() -> {
            System.out.println(Thread.currentThread().getName() + "执行了");
        });

        // 关闭线程池
        es.shutdown();
    }

}

 

标签:Thread,currentThread,Executors,System,线程,es
From: https://www.cnblogs.com/weiduaini/p/17213029.html

相关文章

  • Linux进程与线程的基本概念及区别
    前言假设你正在玩一款在线多人游戏,在游戏中,有多个角色需要进行不同的操作,例如攻击、移动、释放技能等等。接下来,我们用玩游戏的例子,来解释进程和和线程的概念,以及进程和......
  • 线程状态
       ......
  • 线程的生命周期
    创建使用Threadt=newThread()创建的线程。可运行状态调用start()方法后,进入可运行状态,此时线程可以获取CPU的timeSlience时间片。运行状态线程获取到时间片后,进......
  • 线程安全_同步方法
    同步方法就是把synchronized加到方法上。格式:修饰符 synchronized返回值类型方法名(形式参数){}同步代码块和同步方法的区别:1、同步代码块可以锁住指定代码。同......
  • 多线程结合自定义logback日志实现简单的工单日志输出
    前言这周学习了logback自定义日志格式、多线程基础、以及常见的定时器,本篇博客主要是结合以上知识实现一个简单的定时全部工单输出任务,再通过自定义的日志打印输出到......
  • 线程休眠、线程优先级、守护线程
    publicclassThreadDemo{//线程调度分为两种:分时调度模型和抢占式调度模型//分时调度模型:所以线程轮流使用cpu,平均分配每个线程使用cpu的时间//抢占......
  • Java中的线程状态
    Java中线程的状态New:新创建对象,还没执行start()方法RUNNABLE:就绪态和运行状态。BLOCKED:表示线程等到获取锁时候的状态。WAITING:处于这种状态的线程不会被分配CPU执行......
  • java线程池使用小技巧:自定义拒绝策略
    java线程池默认提供了几种拒绝策略:这几个策略都实现了RejectedExecutionHandler,拿DiscardOldestPolicy来说,查看源码:核心代码只有2行:e.getQueue().poll()从列表里弹......
  • 线程死锁问题以及递归锁解法
    fromthreadingimportThread,Lock,RLockimporttimemutexA=Lock()muteXB=Lock()'''#将上述的mutexA=Lock()mutexB=Lock()#换成mutexA=mutexB=RLoc......
  • Jmeter右上角不显示线程数和运行时间
    问题:Jmeter右上角不显示线程数和运行时间问题发生原因在GUI界面去修改的语言这样就会出现这样的bug解决恢复原设置后去Jmeter的bin目录,找到jmeter.properties,把la......