
多线程
文章平均质量分 88
沉淀顶峰相见的PET
<script>alert("Hello")</script>
展开
-
关于如何合理设置线程池参数解决方案
如何合理的设置线程池的参数原创 2023-03-02 17:20:37 · 682 阅读 · 0 评论 -
Java延时队列(DelayQueue)用起来真香啊啊啊~
Java延时队列(DelayQueue)的使用及内部源码解析无敌大目录Java延时队列(DelayQueue)的使用及内部源码解析前言延时队列(DelayQueue)的使用方式DelayQueue源码解析PriorityQueue使用方式和内部源码解析概念PriorityQueue的使用方式PriorityQueue源码解析构造器队列内部实现原理(二叉树小顶堆/大顶堆)小顶堆大顶堆offer(E e)排序源码解析poll()排序源码解析peek()remove(Object o)一键三连,冲啊!!!创作原创 2021-04-29 22:36:39 · 3900 阅读 · 2 评论 -
[全网首发]多线程最全知识万字总结(源码解析 ps:不信你能一次看完,建议收藏)
这是场硬战,冲啊!!!1.什么是线程进程与线程在解释什么是多线程之前,我们先来了解了解什么是进程和线程进程是计算机操作系统分配资源的最小单位,线程是操作系统执行任务调度的基本单位一个程序其实就相当于一进程,这个进程里面最少有一个线程来对程序中的各个功能来进行处理现代操作系统对进程线程的支持单核CPU执行指令都是一条一条执行的,但是并不代表不支持多任务同时执行场景:在播放视频的同时,也可以打字,但是这并不能说它们一定是并行的,其实这种并行还是依赖于操作系统对多任务的调度,A进程执行0.001原创 2021-04-21 00:23:47 · 2562 阅读 · 8 评论 -
力扣多线程笔试题(Leetcode 1115、1116、1117、1195)
并发编程本章笔试题需要用到的并发编程知识,可以看看我这篇文章 Semaphore、CyclicBarrier和CountDownLatch三者的区别目录并发编程1115、交替打印FooBar(中等)CyclicBarrier解答Semaphore解答无锁模式(在Leetcode中测试超时)1116、打印零与奇偶数(中等)Semaphore1117、H2O 生成(中等)ReentrantLock + Condition1195、交替打印字符串(中等)Semaphore总结1115、交替打印FooBar原创 2021-04-09 17:15:16 · 605 阅读 · 0 评论 -
Semaphore、CyclicBarrier和CountDownLatch三者的区别
Semaphore首先我们来看看Semaphore,中文名称信号量我们来看看它的最常使用的方式Semaphore semaphore = new Semaphore(1);我们通过这个构造方法,传进去一个int型变量,这就是通过这个int型变量,来限制线程所能使用的资源,当我们通过semaphore.acquire();方法来阻塞线程的执行,比如我下面这种情况public class demo1 { Semaphore semaphore1 = new Semaphore(1);原创 2021-04-09 13:01:38 · 654 阅读 · 1 评论 -
阿里规约---为什么建议使用ThreadPoolExecutor自定义线程池
创建线程池的四种方式newSingleThreadExecutor 创建一个拥有一个线程的线程池,该线程池的优点是保证事件的执行顺序(先进先出队列(FIFO)、后进先出(LIFO))newFixedThreadPool(int nThreads) 创建一个定长线程池,传进去的参数为可同时并发的线程数,超出的任务放进阻塞队列newScheduledThreadPool(int corePoolSize) 创建一个定长的能执行周期任务的线程池Executors.newCachedThreadPool()原创 2021-03-30 16:48:26 · 1774 阅读 · 0 评论