多线程
余韵啊
hello world
展开
-
Java多线程(五)——线程池任务队列LinkedBlockingQueue
这篇文章继续来介绍线程任务队列——LinkedBlockingQueue,LinkedBlockingQueue是基于链接节点的阻塞队列,它是线程安全的。LinkedBlockQueue是在jdk1.5之后出现的,先看看它的所继承或实现的超类的关系图。再看看LinkedBlockingQueue从超类里面所继承过来的方法,最主要的是看AbstractQueue和BlockingQueue直接看看BlockingQueue接口里面的方法。public interface BlockingQueue原创 2020-08-20 00:49:17 · 1067 阅读 · 0 评论 -
Java多线程(四)———线程池任务队列ArrayBlockingQueue
上面的一篇文章,我们介绍了线程池的拒接策列,这篇文章开始我们介绍线程池任务队列中的等待队列—— ArraBlockingQueue。先看看ArrayBlockingQueue的继承和实现的关系的图。ArrayBlockQueue是一个有界的队列,这个队列排列元素FIFO(先进先出),其中队列元素是用一个数组来保存的,创建时指定队列的大小,创建后,容量无法改变。从上面的图可以看到,ArrayBlockQueue是继承了AbstractQueue类,和实现了BlockingQueue接口。看一下Abs原创 2020-06-24 17:05:08 · 1119 阅读 · 0 评论 -
Java多线程(三)——线程池的拒绝策列
上一篇文章我们说了线程池的创建的五种方式,其实五种方法都是在 ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue workQueue,ThreadFactory threadFactory,RejectedExecutionHandler handler) 方法中填写不同参数而构成的。其中的参数 handler(拒绝策列)都是默认都是defa原创 2020-06-16 01:42:32 · 336 阅读 · 0 评论 -
Java多线程(二)——线程池的使用
上一篇文章我们说了创建线程的几种方式,按照上一篇文章,我们如果要创建多个线程,是不是就要多写几个实现多线程方式的类呢?要知道我们频繁创建和销毁线程是要耗费大量的资源的,为了减少不必要的资源开销,就有了线程池的出现,其实线程池就是想让我们复用里面的线程;减少不必要的开销。要了解线程池,就要先了解创建线程池的七大参数的一种。JUC包下面的 ThreadPoolExecutor类ThreadPoolExecutor(int corePoolSize, in原创 2020-06-15 01:41:34 · 257 阅读 · 0 评论 -
Java多线程(一)——创建线程的方式
在Java中有几种不同的方式创建线程,下面就说说创建线程的几种不同的方式。方式一、继承Thread继承Thread类,重写里面的run()方法public class ThreadDemo02 extends Thread{ @Override public void run() { System.out.println("线程名称:"+Thread.currentThread().getName()); } public static vo原创 2020-06-14 19:43:21 · 164 阅读 · 0 评论