
线程
yjxyoung
这个作者很懒,什么都没留下…
展开
-
线程池的execute()和submit()区别
线程池的execute()和submit()区别* -----------本篇文章是博主第一篇文章,若有错的地方请指出最近我正在学线程池,一定有很多人像我一样有疑惑,线程池的execute()和submit()都是向线程池提交一个任务,他们有什么区别??下面我们先看一下submit()的源码:public Fut...原创 2019-04-28 11:16:37 · 664 阅读 · 0 评论 -
多线程练习(一) 三个线程按顺序执行
多线程练习(一) 三个线程按顺序执行方法一:利用join()方法,join()方法可以让父线程等待子线程结束之后才能继续运行。具体join()的解释在链接: link.import java.util.concurrent.ThreadPoolExecutor;public class ABC{ public static void main(String[] args) {...原创 2019-05-03 10:37:45 · 554 阅读 · 0 评论 -
多线程练习(二) 三个线程轮流输出ABC
public class AroundABC extends Thread { private String msg; private AroundABC next; public AroundABC(String msg) { this.msg = msg; } @Override public void run() { ...原创 2019-05-03 11:12:35 · 898 阅读 · 0 评论 -
多线程练习(三)三个线程交互打印
曾经有面试官问过这样一个问题,如何让两个线程交替打印奇数和偶数?如何让多个线程交替执行?回答这个问题之前需要先了解java多线程的运行机制,线程间通信机制,线程同步问题。这个问题我知道的实现方案有两种,一种是基于synchronized和wait/notify,另外一种是基于Lock和Condition.1.基于synchronized和wait/notifypublic class Ch...转载 2019-05-03 11:23:11 · 1194 阅读 · 0 评论 -
获取当前程序的线程数的两种方法
1、使用线程管理器MXBeanThreadMXBean threadMXBean= ManagementFactory.getThreadMXBean(); long [] id=threadMXBean.getAllThreadIds(); for(long i:id){ System.out.println(threadMXBean.g...原创 2019-07-27 14:04:21 · 4162 阅读 · 0 评论 -
Java并发类库提供的线程池
Executors目前提供了5种不同的线程池创建配置:newCachedThreadPool(),它是一种用来处理大量短时间工作任务的线程池,具有几个鲜明特点:它会试图缓存线程并重用,当无缓存线程可用时,就会创建新的工作线程;如果线程闲置的时间超过60秒,则被终止并移出缓存;长时间闲置时,这种线程池,不会消耗什么资源。其内部使用SynchronousQueue作为工作队列。newFix...原创 2019-07-27 14:37:47 · 143 阅读 · 0 评论