九路 九路
5年前
4.1 手写Java PriorityQueue 核心源码
本章先讲解优先级队列和二叉堆的结构。下一篇代码实现从一个需求开始假设有这样一个需求:在一个子线程中,不停的从一个队列中取出一个任务,执行这个任务,直到这个任务处理完毕,再取出下一个任务,再执行。其实和Android的Handler机制中的Looper不停的从MessageQueue中取出一个消息然后处理是一样的。不过这个需
Stella981 Stella981
4年前
Linux下V4L2捕捉画面+H264压缩视频+帧缓冲显示视频————结合三个部分工作
前面三篇文章分别介绍了视频捕获、h264视频压缩、帧缓冲显示的实现,现在将他们结合起来摄像头采集到的数据,需要交给视频压缩线程、显示线程使用,那么我采用的方法是使用队列及链表来实现:1.摄像头采集到数据后,分别放入两个处理线程队列中,并将相关信息放入链表中2.两个线程处理完成数据后,调用回调函数,从链表里找到对应的节点,然后释
Wesley13 Wesley13
4年前
Java CompletableFuture:allOf等待所有异步线程任务结束
privatevoidmethod()throwsExecutionException,InterruptedException{CompletableFuture<Stringf1CompletableFuture.supplyAsync((){try{
Wesley13 Wesley13
4年前
AQS之工作原理
前面一章LZ简单的介绍了下AbstractQueuedSynchronizer(AQS)以及AQS中提供的一些模板方法和作用,这一章LZ将用一个简单的实例来介绍下AQS中独占锁的工作原理。独占锁顾名思义就是在同一时刻只能有一个线程能获取到锁,而其它需要获取这把锁的线程将进入到同步队列中等待获取到了锁的线程释放这把锁,只有获取锁的线程释放了锁,同步队列中的线程
Wesley13 Wesley13
4年前
JAVA并发容器代码随读
1.java.util.concurrent所提供的并发容器java.util.concurrent提供了多种并发容器,总体上来说有4类,队列类型的BlockingQueue和 ConcurrentLinkedQueue,Map类型的ConcurrentMap,Set类型的ConcurrentSkipListSet和CopyOnWri
Stella981 Stella981
4年前
Netty(七):流数据的传输处理
SocketBuffer的缺陷对于例如TCP/IP这种基于流的传输协议实现,接收到的数据会被存储在socket的接受缓冲区内。不幸的是,这种基于流的传输缓冲区并不是一个包队列,而是一个字节队列。这意味着,即使你以两个数据包的形式发送了两条消息,操作系统却不会把它们看成是两条消息,而仅仅是一个批次的字节序列。因此,在这种
Easter79 Easter79
4年前
SpringBoot2.0 整合 RocketMQ ,实现请求异步处理
一、RocketMQ1、架构图片!(https://oscimg.oschina.net/oscnet/a7e261efad5acb86f69514490073291e002.jpg)2、角色分类(1)、BrokerRocketM
Wesley13 Wesley13
4年前
AVAudioPlayer音频播放器—IOS开发
IOS中有三种播放音频的方式:AVAudioPlayer、音频服务、音频队列。本文只讲解AVAudioPlayer。AVAudioPlayer在AVFoundation框架下,所以我们要导入AVFoundation.framework。一、创建一个播放器NSErrorerr;_avAudioPlayerAVAudio
简易异步任务中心&批量导入技术处理方案
一、解决什么问题一个任务中心技术实现的参考案例,可以快速部署实现且仅需关注业务个性落库逻辑实现,其他如任务状态维护、数据解析及异常包装、结果导出均由工具自动实现。二、基本原理图1请求示意图异步任务中心共分三个模块:1)任务初始化,将目标导入文件上传至云存储
小白学大数据 小白学大数据
4个月前
异步爬虫实践:使用Aiohttp加速抓取多个星座运势
一、同步与异步:为何效率天差地别?在开始代码之前,理解其背后的理念至关重要。●同步爬虫(阻塞式):程序发送一个HTTP请求后,会一直“傻等”直到服务器返回响应。在此期间,CPU资源被闲置。就像一个收银员一次只服务一位顾客,结账、装袋、收款,完成后才服务下一