#include <iostream> #include <cstdio> #include <queue> #include <algorithm> #include <cmath> #include <cstring> #define inf 2147483647 #define N 10000 ...
分类:
其他好文 时间:
2020-08-07 12:34:32
阅读次数:
75
BlockingQueue 使用场景:多并发处理,线程池 阻塞队列的使用 四组API 方式 抛出异常 有返回值,不抛异常 阻塞等待 超时等待 添加 add offer put offer( , , ) 删除 remove poll take poll( , ) 检测队列首部 element peek ...
分类:
其他好文 时间:
2020-08-07 12:31:28
阅读次数:
70
池化技术 程序的运行,本质:占有系统的资源!优化资源的使用 池化技术:事先准备好一些资源,有人要用,就过来取,用完之后还给我。 线程池的好处 降低资源消耗 提高响应的速度 方便管理 线程可复用,可以控制最大并发数,管理线程 线程池:三大方法 package pers.vincent.matrix.s ...
分类:
编程语言 时间:
2020-08-07 12:30:32
阅读次数:
57
ThreadPoolExecutor executor = new ThreadPoolExecutor(2, //核心线程数 5,//最大线程数 60L, //临时线程空闲时间 TimeUnit.SECONDS,//时间单位 new ArrayBlockingQueue<Runnable>(25) ...
分类:
编程语言 时间:
2020-08-06 17:06:28
阅读次数:
85
目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货。在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持续七天,就是使用了消息中间件的延迟推送功能。 12306 购票支付确认页面。我们在选好票点击确定跳转的页面中往 ...
分类:
其他好文 时间:
2020-08-06 11:56:05
阅读次数:
73
在C语言中使用抽象数据类型方法编程包含以下3个步骤。1.以抽象、通用的方式描述一个类型,包括该类型的操作。2.设计一个函数接口表示这个新类型。3.编写具体代码实现这个接口。前面已经把这种方法应用到简单链表中。现在,把这种方法应用于更复杂的数据类型:1定义队列抽象数据类型队列(queue)是具有两个特殊属性的链表。第一,新项只能添加到链表的末尾。从这方面看,队列与简单链表类似。第二,只能从链表的开头
分类:
编程语言 时间:
2020-08-05 21:01:04
阅读次数:
83
消息总线(Message Queue),后文称MQ,是一种跨进程的通信机制,用于上下游传递消息。 画外音:这两个进程,一般不在同一台服务器上。 在互联网架构中,MQ经常用做“上下游解耦”: 消息发送方只依赖MQ,不关注消费方是谁; 消息消费方也只依赖MQ,不关注发送方是谁; 画外音:发送方与消费方, ...
分类:
其他好文 时间:
2020-08-05 18:13:14
阅读次数:
73
前提 最近有点懒散,没什么比较有深度的产出。刚好想重新研读一下JUC线程池的源码实现,在此之前先深入了解一下Java中的线程实现,包括线程的生命周期、状态切换以及线程的上下文切换等等。编写本文的时候,使用的JDK版本是11。 Java线程的实现 在JDK1.2之后,Java线程模型已经确定了基于操作 ...
分类:
编程语言 时间:
2020-08-05 14:25:11
阅读次数:
77