摘要: 线程池是怎样执行任务的? 我曾经在一个面试中被问到,说说线程池是怎样执行任务的,由于对这个知识点不是很清楚,我当时很紧张,回答的不好,因此面试完当天我就恶补了这个知识点,现在来重温一下说到执行任务,我们就必须先谈谈提交任务。 提交任务的方式有两种,一种是execute,还有一种是submit。 这两 阅读全文
posted @ 2022-03-28 19:46 小陈子博客 阅读(939) 评论(0) 推荐(0)
摘要: 线程池状态及生命周期 线程池在其生命周期中会经历多种状态,这些状态被定义在threadPoolExecutor中,一共有5种。 这些状态所对应的描述如图所示, 下面几小节将介绍这些状态。 首先来看第一个状态,running,他表示线程池正在运行, 可以接受新任务,并且也能处理任务队列中的任务,下面动 阅读全文
posted @ 2022-03-28 16:50 小陈子博客 阅读(391) 评论(0) 推荐(0)
摘要: shutdown 与 shutdownNow 的区别 今天介绍另一个关闭线程池的方法shoudownnow,本节内容有三个小节,第一小节介绍下shoudownnow,第二小节演示一个停不下来的任务。第三小节介绍shoudown与shoudownnow的区别。 介绍下shoudownnow 首先来看第 阅读全文
posted @ 2022-03-28 16:22 小陈子博客 阅读(225) 评论(0) 推荐(0)
摘要: 关闭线程池shutdown方法 这一节我们来shoudown方法,该方法的作用是关闭现身池,一般我们用它的时候都是写在finally大模块中, 为什么要关闭现身池?如果线程池用完不关闭的话,程序就不会结束,但是你关闭它的话程序才会结束。 shoudown方法它有两个特点, 第一个特点是调用shoud 阅读全文
posted @ 2022-03-28 15:49 小陈子博客 阅读(387) 评论(0) 推荐(0)
摘要: 四个任务拒绝策略该用哪一个? 在前面的课程中,我们学习了提交任务和取消任务,这一节我们来学习,当提交的任务被拒绝时该怎么办?线程池给我们提供了4个任务拒绝策略, 也就是4个解决办法,这4个策略分别对应4个类, 而且他们还以内部类的形式存在于所谓的threadPoolExecutor中。不仅如此,他们 阅读全文
posted @ 2022-03-28 15:23 小陈子博客 阅读(1011) 评论(1) 推荐(0)
摘要: 一会再讲 阅读全文
posted @ 2022-03-28 13:06 小陈子博客 阅读(88) 评论(0) 推荐(0)
摘要: 1.使用B站看东西 2.使用b站下载资源 https://bilibili.iiilab.com/ 3.使用daum potplay,做视频自动截图 https://jingyan.baidu.com/article/73c3ce28e77c98e50243d96b.html 4.十行笔记自动翻译视 阅读全文
posted @ 2022-03-28 00:10 小陈子博客 阅读(321) 评论(0) 推荐(1)
摘要: 上一节我们学习了获取任务的get方法,这节我们来学习取消任务的cancel方法。 看似很简单的一个方法,却因为它的参数让无数开发者产生了疑惑,下面我们来看看是怎么回事。 分析 他有一个布尔类型的参数,如果为true的话,表示尝试中断正在执行任务的线程,也就是调用线程的interrupt的方法。这一点 阅读全文
posted @ 2022-03-18 22:03 小陈子博客 阅读(861) 评论(0) 推荐(0)
摘要: 上一节我们简单的介绍一下future,这一节我们来介绍它里面最常用的功能,那就是获取任务执行结果的get方法。当我们通过submit的方法向线程池中提交一个runnable任务或者是callable任务时,他们执行完会将结果封装在对象中,然后再返回给调用者,调用者在通过future的get方法获得结 阅读全文
posted @ 2022-03-18 10:27 小陈子博客 阅读(166) 评论(0) 推荐(0)
摘要: 提交任务的方式一共有两种,分别是execute和submit。 今天就来介绍他们两个以及他们的区别。 首先来看execute,该方法位于executor中,作用是向线程中提交runnable任务。 runnable任务大家都知道,他是一个无返回值的任务,也就是他执行完是没有返回结果给你的,所以exe 阅读全文
posted @ 2022-03-17 22:22 小陈子博客 阅读(2755) 评论(0) 推荐(0)