当前位置: 首页 > news >正文

四川高速公路建设开发总公司网站精准客户截流软件

四川高速公路建设开发总公司网站,精准客户截流软件,私人路由器做网站,工程报价一、线程前言 首先我们知道,线程的概念如果不知道可以去看这一篇Java中的线程,我们这篇主要讲述的是Java怎么使用线程池创建线程,首先我们要对线程池有点概念,其实顾名思义,线程池就是有喝多线程的一个池子类似于&…

一、线程前言

        首先我们知道,线程的概念如果不知道可以去看这一篇Java中的线程,我们这篇主要讲述的是Java怎么使用线程池创建线程,首先我们要对线程池有点概念,其实顾名思义,线程池就是有喝多线程的一个池子类似于,大家搞数据库连接的时候的数据库连接池druid,什么池那就是存的什么东西了。

二、普通线程使用

        我们回忆一下最基本的线程创建,是不是继承Thread或者是实现Runnable接口 ,我们基本上都选用的是实现Runnable接口,因为Java是单继承,指不定我们又要继承其他什么东西呢。

Thread类

public class Main {public static void main(String[] args) {MyThread thread = new MyThread();thread.start(); }
}class MyThread extends Thread {@Overridepublic void run() {System.out.println("MyThread is running.");}
}

我们通过重写run方法进行线程运行的内容的编写。

Runnable接口

都已经学习线程池了,所以大家肯定都是会lambda表达式的吧,我们直接写lambda表达式。

public class Main {public static void main(String[] args) {Thread thread = new Thread(()-> System.out.println("The lambda Runnable interface implements"));thread.start();}
}

这就是最基本的线程创建以及启动,相信大家都很熟悉了。接下来我们来看看高级一点的,线程池的使用。

三、使用线程池

Executors类

这个类在JUC里面,juc也就是java.util.concurrent。是Java处理多线程的一个工具类,假如你以后想要有更高的上升渠道,你是必须要学的。废话不多说,我们上代码。

package thread;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class Main {public static void main(String[] args) {// 创建线程池对象,我们这里设置了2个为上限,所以线程池内的线程的上限就是2ExecutorService pool = Executors.newFixedThreadPool(2);// 给线程池对象分配任务,每一个任务是一个线程pool.execute(() -> System.out.println(Thread.currentThread().getName() + " " + 1));pool.execute(() -> System.out.println(Thread.currentThread().getName() + " " + 2));pool.execute(() -> System.out.println(Thread.currentThread().getName() + " " + 3));pool.shutdown();}
}

如果你用的IDEA的版本比较新你可能会看到他提示你。

没有关系,我们使用一下try-with-resources的方式来运行一下,这次我们把上限继续调成3个。

package thread;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class Main {public static void main(String[] args) {// 创建线程池对象,我们这里设置了3个为上限try (ExecutorService pool = Executors.newFixedThreadPool(3)) {// 给线程池对象分配任务,每一个任务是一个线程pool.execute(() -> System.out.println(Thread.currentThread().getName() + " " + 1));pool.execute(() -> System.out.println(Thread.currentThread().getName() + " " + 2));pool.execute(() -> System.out.println(Thread.currentThread().getName() + " " + 3));// 因为使用了try-with-resources的方式,所以我们不需要手动关闭我们的线程池了,他会自动关闭的。就和IO流一样
//            pool.shutdown();} catch (Exception e) {throw new RuntimeException(e);}}
}

然后我们也能看到我们的线程也是出现了3的字眼。

但是我们留意一下阿里的开发手册我们会发现。

所以我们要使用接下来的一个线程池的方式去创建线程。

ThreadPoolExecutor

但是我们用ThreadPoolExecutor去创建线程池的话,因为是自定义线程池,所以可选的东西很多,所以得仔细看了,我们直接选用最少参数的构造器。

package thread;import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;public class Main {public static void main(String[] args) {/*第一个参数是核心池大小,也就是用几个核心去处理第二个参数是最大线程数量第三个参数则是存活时间第四个参数则是第三个参数的单位是什么第五个参数则是存放线程的队列是什么,我这里选择的事LinkedBlockingQueue*/try (ThreadPoolExecutor pool = new ThreadPoolExecutor(4,8,60,TimeUnit.SECONDS,new LinkedBlockingQueue<>())) {for (int i = 0; i < 10; i++) {pool.execute(() -> System.out.println(Thread.currentThread().getName()));}} catch (Exception e) {throw new RuntimeException(e);}}
}

pool-1-thread-1
pool-1-thread-3
pool-1-thread-3
pool-1-thread-3
pool-1-thread-3
pool-1-thread-2
pool-1-thread-2
pool-1-thread-1
pool-1-thread-4
pool-1-thread-3

进程已结束,退出代码为 0

这就是线程池的两个基本用法,我们明显可以从打印信息看出来,他的名字是pool开始。

如果对你有帮助,你能学习到东西请帮我点个赞点个收藏。

http://www.hkea.cn/news/555372/

相关文章:

  • 杭州哪个网站建设最好做网站的网络公司
  • 制作一个网站步骤东莞网络营销销售
  • 专业的营销网站建设公司百度联盟注册
  • 机械类网站用什么做背景指数运算法则
  • 微信如何绑定网站加速游戏流畅的软件
  • 茂名整站优化百度问答首页
  • 手机网站搭建网络宣传方式
  • 2003网站建设网站seo哪家公司好
  • 成都学校网站制作2022年国际十大新闻
  • 工厂外贸网站建设台州网络推广
  • 酒店网站建设方案策划百度seo怎么做网站内容优化
  • 网站更改公司需要重新备案吗搜索网页内容
  • 现在做网站还用dw做模板了吗成人电脑速成培训班
  • 做app要不要建网站刚开的店铺怎么做推广
  • 做生存分析的网站有哪些专业的网站优化公司
  • 网站双倍浮动百度联盟app
  • 北京网站设计确保代码符合w3c广州网络营销的推广
  • 做网站实名认证有什么用百度移动端模拟点击排名
  • 知更鸟wordpress 怎样沈阳百度seo关键词优化排名
  • 携程网站模板互联网营销策略有哪些
  • 做网站内链什么意思上海排名优化seobwyseo
  • 四川做直销会员网站百度网盘帐号登录入口
  • 做百度竞价对网站有无要求网站推广排名服务
  • 建设工程合同包括成都网站改版优化
  • 深圳不加班的互联网公司整站seo优化
  • 中国做的很好的食品网站肇庆疫情最新消息
  • 做时时彩网站微信seo关键词有话要多少钱
  • 陇南市建设局网站商务软文写作
  • 做学术研究的网站营销方案怎么写?
  • 专业网站设计公司有哪些秒收录关键词代发