九路 九路
4年前
4.1 手写Java PriorityQueue 核心源码
本章先讲解优先级队列和二叉堆的结构。下一篇代码实现从一个需求开始假设有这样一个需求:在一个子线程中,不停的从一个队列中取出一个任务,执行这个任务,直到这个任务处理完毕,再取出下一个任务,再执行。其实和Android的Handler机制中的Looper不停的从MessageQueue中取出一个消息然后处理是一样的。不过这个需
一种异步延迟队列的实现方式
目前系统中有很多需要用到延时处理的功能:支付超时取消、排队超时、短信、微信等提醒延迟发送、token刷新、会员卡过期等等。通过延时处理,极大的节省系统的资源,不必轮询数据库处理任务。今天,就来介绍一种异步延迟队列的实现方式
Wesley13 Wesley13
3年前
activemq读取剩余消息队列中消息的数量
先上原文链接:http://blog.csdn.net/bodybo/article/details/5647968  ActiveMQ在C中的应用ActiveMQ是个好东东,不必多说。ActiveMQ提供多种语言支持,如Java,C,C,C,Ruby,Perl,Python,PHP等。由于我在windows下开发GUI,比较关
Stella981 Stella981
3年前
Linux下V4L2捕捉画面+H264压缩视频+帧缓冲显示视频————结合三个部分工作
前面三篇文章分别介绍了视频捕获、h264视频压缩、帧缓冲显示的实现,现在将他们结合起来摄像头采集到的数据,需要交给视频压缩线程、显示线程使用,那么我采用的方法是使用队列及链表来实现:1.摄像头采集到数据后,分别放入两个处理线程队列中,并将相关信息放入链表中2.两个线程处理完成数据后,调用回调函数,从链表里找到对应的节点,然后释
Stella981 Stella981
3年前
AbstractQueuedSynchronizer(队列同步器,AQS)源码剖析(三)
1.1release      接下来我们在看看如何释放锁,源码如下publicfinalbooleanrelease(intarg){//释放锁方法(独占模式)if(tryRelease(arg)){//尝试释放锁Nodehhead;if(h!null&&h
Stella981 Stella981
3年前
Spring Cloud 学习笔记
Eureka客户端的服务注册       Eureka客户端在运行时会向Eureka服务端发送周期性的心跳,Eureka服务端利用客户端周期性的心跳续约请求来保证注册表的实时性。其中客户端会向服务端提供一个如果多久没有向服务端发送心跳请求,就不再维护这个客户端的时间阈值。!eureka.instance.leaserenew
Wesley13 Wesley13
3年前
Java服务端与C#客户端实现websocket通信(发送消息和文件)
设计思路使用websocket通信,客户端采用C开发界面,服务端使用Java开发,最终实现Java服务端向C客户端发送消息和文件,C客户端实现语音广播的功能。Java服务端设计packageservlet.websocket;importjava.io.IOException;importjava
Stella981 Stella981
3年前
C#队列学习笔记:RabbitMQ安装及使用
  一、环境搭建  1.1、由于RabbitMQ是使用Erlang语言开发的,因此要安装Erlang运行时环境,下载地址:Erlang官网下载(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.erlang.org%2Fdownloads)  C
Stella981 Stella981
3年前
Netty 4.0 实现心跳检测和断线重连
一实现心跳检测原理:当服务端每隔一段时间就会向客户端发送心跳包,客户端收到心跳包后同样也会回一个心跳包给服务端一般情况下,客户端与服务端在指定时间内没有任何读写请求,就会认为连接是idle(空闲的)的。此时,客户端需要向服务端发送心跳消息,来维持服务端与客户端的链接。那么怎么判断客户端在指定时间里没有任何读写请求呢?netty中为我们提供一
Wesley13 Wesley13
3年前
MQ(消息队列)常见的应用场景解析
前言提高系统性能首先考虑的是数据库的优化,之前一篇文章《数据库的使用你可能忽略了这些》中有提到过开发中,针对数据库需要注意的事项。但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库之前。不管是无限的横向扩展服务器,还是纵向阻隔到达数据库的流量,都是这个思路。阻隔直达数据库的流量,缓存组件和消息组件是两大