搜索结果
查询Tags标签: 队列,共有 1737条记录-
Redis 队列和MQ 对比
简介 为了保障基础服务的稳定,需要对MQ进行灾备,这个灾备主要是防患MQ突然不可能,基础服务依然可以调用其他队列来继续正常运行。第一想法是引入其他MQ中间件来做灾备,这样只需要实现一套生产者消费者就好。但因为公司这块中间件都使用的云产品。要过要使用其他…
2022/6/8 2:20:20 人评论 次浏览 -
java-线程池+CompletableFuture
使用线程池 线程池的基本概念线程池,本质上是一种对象池,用于管理线程资源。 在任务执行前,需要从线程池中拿出线程来执行。 在任务执行完成之后,需要把线程放回线程池。 通过线程的这种反复利用机制,可以有效地避免直接创建线程所带来的坏处。线程池的优缺点 优点降…
2022/6/8 1:21:25 人评论 次浏览 -
算法题解---双向队列的优化
题目 Leetcode:2290两题均可用bfs算法做出,但很难做到最优。 而如果将queue替换成deque将可以将速度提升一倍思路主要是将优先级较高的放在队列前面,提前出队,优先级低的放在队列尾处。 如何判断优先级将是至关重要的如果路过该点会使的之后的答案与题目要求相违背 即该…
2022/6/5 1:20:28 人评论 次浏览 -
Java并发容器之LinkedBlockingQueue源码分析
一、简介 LinkedBlockingQueue是java并发包下一个以单链表实现的阻塞队列,它是线程安全的,至于它是不是有界的,请看下面的分析。 二、源码分析 2.1 属性 // 容量 private final int capacity;// 元素数量 private final AtomicInteger count = new AtomicInteger();// …
2022/6/4 1:20:10 人评论 次浏览 -
Java并发容器之SynchronousQueue源码分析
一、简介 SynchronousQueue是java并发包下无缓冲阻塞队列,它用来在两个线程之间移交元素,但是它有个很大的问题,你知道是什么吗?请看下面的分析。 二、源码分析 2.1 属性 // CPU的数量 static final int NCPUS = Runtime.getRuntime().availableProcessors();// 有超时…
2022/6/4 1:20:10 人评论 次浏览 -
LeetCode703(数据流中的第K大元素)
用优先队列存储前k大元素,堆顶是第k大元素,每一次添加一个元素道优先队列,如果队列长度大于k就pop堆顶元素 参考https://blog.csdn.net/qq_41687938/article/details/117827166class KthLargest { public:priority_queue<int,vector<int>,greater<int>&…
2022/6/3 23:23:04 人评论 次浏览 -
crash命令 —— waitq
参考:https://crash-utility.github.io/help_pages/waitq.html 用法:查看等待队列中被阻塞的进程 waitq <等待队列地址>这里的等待队列的数据类型是 wait_queue_head 等待队列地址的表达方式有三种:wait_queue_head的直接内核虚拟地址 wait_queue_head数据类型的…
2022/5/31 23:21:18 人评论 次浏览 -
RabbitMQ——工作队列
RabbitMQ——工作队列 一、任务队列/工作队列 (使用Go RabbitMQ客户端)我们编写程序从命名的队列发送和接收消息。在这一节中,我们将创建一个工作队列,该队列将用于在多个工人之间分配耗时的任务。 工作队列(又称任务队列)的主要思想是避免立即执行某些资源密集型任…
2022/5/31 23:19:48 人评论 次浏览 -
Celery - 分布式任务队列[转载]
原文:https://www.cnblogs.com/pyedu/p/12461819.html 一、什么是Celery 1.1、celery是什么 Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。Celery的架构由三部分组成,消息中间件(message broker),…
2022/5/27 23:20:48 人评论 次浏览 -
抽象同步队列AQS源码学习
抽象同步队列AQS源码学习 1、AQS类结构剖析static final class Node {/** Marker to indicate a node is waiting in shared mode */static final Node SHARED = new Node(); // 用来标记该线程是获取共享资源时被阻塞挂起后放入到AQS队列的static final Node EXCLUSIVE =…
2022/5/26 1:51:13 人评论 次浏览 -
Timer 原理 到 spring 定时器任务
Java Timer 怎么实现延时任务的?怎么实现周期任务的?消耗资源多吗?执行时间准确吗?1 Timer 的基本使用。 第一个参数是任务,第二个参数可以是指定时间,第三个参数如果指定了就会周期的执行这个任务2 Timer 的原理概述:Timer 有一个内部线程,和一个阻塞队列,在Tim…
2022/5/24 23:52:42 人评论 次浏览 -
P1323 删数问题
题目描述一个集合有如下元素:1 是集合元素;若 P 是集合的元素,则 2P+1,4P+5 也是集合的元素。 取出此集合中最小的 k 个元素,按从小到大的顺序组合成一个多位数,现要求从中删除 m 个数位上的数字,使得剩下的数字最大,编程输出删除前和删除后的多位数字。 注:不存…
2022/5/23 23:23:01 人评论 次浏览 -
安装RabbitMQ 消息队列
安装 1.官网地址: https://www.rabbitmq.com/download.html 2.文件上传 上传到/usr/local/software 目录下(如果没有 software 需要自己创建)3.安装文件(分别按照以下顺序安装) rpm -ivh erlang-21.3-1.el7.x86_64.rpm yum install socat -y rpm -ivh rabbitmq-server-3.…
2022/5/11 23:18:14 人评论 次浏览 -
java面经-线程池
一、创建线程的三种方式 1、通过继承Thread类继承2、通过Runnable接口,重写run方法创建 3、通过Callable接口,实现call方法的创建 4、使用线程池的方式创建二、为什么要用线程池 线程池提供了一种限制和管理资源(包括执行一个任务)的方式,每一个线程池都维护了一些基…
2022/5/6 11:42:50 人评论 次浏览 -
JavaScript 数据结构与算法2(队列和双端队列)
学习数据结构的 git 代码地址: https://gitee.com/zhangning187/js-data-structure-study1、队列和双端队列队列和栈非常类似,但是使用了与 后进先出 不同的原则。双端队列是一种将栈的原则和队列的原则混合在一起的数据结构。1.1 队列数据结构队列是遵循先进先出(FIFO)…
2022/5/6 9:13:04 人评论 次浏览