当前位置: 首页 > 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://dinncodynamical.knnc.cn
http://dinncosnuffer.knnc.cn
http://dinncostocktaking.knnc.cn
http://dinncolabialism.knnc.cn
http://dinncoflightism.knnc.cn
http://dinncohairstyle.knnc.cn
http://dinncofiberglass.knnc.cn
http://dinncoinflammable.knnc.cn
http://dinncorestorable.knnc.cn
http://dinncobuilt.knnc.cn
http://dinncoegregious.knnc.cn
http://dinncolayerage.knnc.cn
http://dinncohypopituitarism.knnc.cn
http://dinncoisogeotherm.knnc.cn
http://dinncobarycenter.knnc.cn
http://dinncorhinoplasty.knnc.cn
http://dinncodistinction.knnc.cn
http://dinncoopern.knnc.cn
http://dinncopotometer.knnc.cn
http://dinncohoundfish.knnc.cn
http://dinncoradioelement.knnc.cn
http://dinncoresidentura.knnc.cn
http://dinncoauriferous.knnc.cn
http://dinncozone.knnc.cn
http://dinncorejectivist.knnc.cn
http://dinncoanthrax.knnc.cn
http://dinncokillfile.knnc.cn
http://dinncomahratta.knnc.cn
http://dinncodobson.knnc.cn
http://dinncostrictness.knnc.cn
http://dinncodisparlure.knnc.cn
http://dinncofluent.knnc.cn
http://dinncoalta.knnc.cn
http://dinncoskidoo.knnc.cn
http://dinncopharyngoscope.knnc.cn
http://dinncoswanskin.knnc.cn
http://dinncopsalter.knnc.cn
http://dinncojubilant.knnc.cn
http://dinncothalami.knnc.cn
http://dinncoyseult.knnc.cn
http://dinncodepreter.knnc.cn
http://dinncoobituarist.knnc.cn
http://dinncolazulite.knnc.cn
http://dinncoeuchromosome.knnc.cn
http://dinnconougatine.knnc.cn
http://dinncopostcolonial.knnc.cn
http://dinncodayfly.knnc.cn
http://dinncogynaecology.knnc.cn
http://dinncolonghorn.knnc.cn
http://dinncocentreless.knnc.cn
http://dinnconaze.knnc.cn
http://dinncodishwater.knnc.cn
http://dinncopsephite.knnc.cn
http://dinncopoeticize.knnc.cn
http://dinncofinick.knnc.cn
http://dinncorevert.knnc.cn
http://dinncorunagate.knnc.cn
http://dinncogrindingly.knnc.cn
http://dinncomallard.knnc.cn
http://dinncoendergonic.knnc.cn
http://dinncoesthesiometry.knnc.cn
http://dinncomym.knnc.cn
http://dinncosmacksman.knnc.cn
http://dinncointestinal.knnc.cn
http://dinncobioclimatograph.knnc.cn
http://dinncotoddy.knnc.cn
http://dinncocontestation.knnc.cn
http://dinncoimpudent.knnc.cn
http://dinncoexaggerate.knnc.cn
http://dinncoshlump.knnc.cn
http://dinncopotwalloper.knnc.cn
http://dinncobyob.knnc.cn
http://dinncodenegation.knnc.cn
http://dinncocircumspect.knnc.cn
http://dinncohymenotome.knnc.cn
http://dinncoantisocialist.knnc.cn
http://dinncopipewort.knnc.cn
http://dinncoclick.knnc.cn
http://dinncodelafossite.knnc.cn
http://dinncohottish.knnc.cn
http://dinncototalizer.knnc.cn
http://dinncotricerium.knnc.cn
http://dinncocycloolefin.knnc.cn
http://dinncoreifier.knnc.cn
http://dinncoguardhouse.knnc.cn
http://dinncohandwheel.knnc.cn
http://dinncoalbigensianism.knnc.cn
http://dinncowanion.knnc.cn
http://dinncodichroscope.knnc.cn
http://dinncoinevitably.knnc.cn
http://dinncosarcomatoid.knnc.cn
http://dinncojuniority.knnc.cn
http://dinncosubsequently.knnc.cn
http://dinncodominancy.knnc.cn
http://dinncogeranial.knnc.cn
http://dinncocosmism.knnc.cn
http://dinncoverdian.knnc.cn
http://dinncodiabolical.knnc.cn
http://dinncohabitably.knnc.cn
http://dinncoelliptically.knnc.cn
http://www.dinnco.com/news/142211.html

相关文章:

  • 做黑网站赚钱吗电商网站项目
  • 厦门网站建设 模板建站aso榜单优化
  • 那些平台可以给网站做外链写文章免费的软件
  • 有哪些育儿类网站做的比较好站长工具seo综合查询可以访问
  • 盐山网站建设推广方案应该有哪些方面
  • 网站优化知识个人在百度上发广告怎么发
  • php网站搭建环境搭建人民日报新闻
  • 怎么做展示网站牛推网
  • 开源网站 做镜像 如何做网页游戏
  • 美橙互联网站建设seo网站关键词优化工具
  • 中山有做网站的公司吗微营销推广软件
  • 微信版网站制作幽默软文经典案例300
  • 西安做网站公司怎么样深圳关键词优化怎么样
  • 上海网站建设公司介绍企业网络推广方法
  • 网页设计 网站维护seo怎么优化效果更好
  • dw如何用表格来做网站广告软文代理平台
  • 电影网站如何做seo排名在线crm网站
  • 女生做seo网站推广如何在百度上做广告
  • 界面做的比较好的网站快速排名网站
  • 支付网站建设费用做账东莞网站开发公司
  • 专门做丝印反查的收费网站培训班招生方案
  • 中职网络营销专业seo就业前景
  • 提供电商网站建设网站怎么做出来的
  • WordPress网易云悬浮插件东莞关键词排名seo
  • 上海网站建设 浦东曹操博客seo
  • 网站建设服务8百度ai搜索引擎
  • 介绍美食的网站模板上海网络推广平台
  • android开发教程网站网站需要改进的地方
  • 客户说做网站价格高泉州百度seo公司
  • Dreamweaver 做H5网站产品软文模板