Stella981 Stella981
3年前
Qt的多线程编程注意事项
QT总的来说是一个易学易用的库,但是QT的多线程使用确实容易犯错,尤其是结合上异步的网络访问,谁用谁知道。我觉得核心是一句话,QThread要当作线程控制块用,不要以为派生一个QThread的子类,里面的东西都跑在新的线程里了,只有run()里的是这样。下面这篇文章我觉得讲的很好,深入解析QT的线程用法,文章有点长,但是值得一读。原文在htt
Stella981 Stella981
3年前
Android Looper,Handler,Message分析
LooperLooper的构造方法是private的,不可以在外部生成Looper的实例.最重要的几个变量:ThreadLocal :静态的,保存所有线程及其所关联的Looper实例.可以理解为这是一个Map,保存了线程\Looper的所有键值对.这里可以获取到所有的线程及其关联的Looper对象.当我们需要生成一个支持消息循环特性的
Stella981 Stella981
3年前
Linux下V4L2捕捉画面+H264压缩视频+帧缓冲显示视频————结合三个部分工作
前面三篇文章分别介绍了视频捕获、h264视频压缩、帧缓冲显示的实现,现在将他们结合起来摄像头采集到的数据,需要交给视频压缩线程、显示线程使用,那么我采用的方法是使用队列及链表来实现:1.摄像头采集到数据后,分别放入两个处理线程队列中,并将相关信息放入链表中2.两个线程处理完成数据后,调用回调函数,从链表里找到对应的节点,然后释
Stella981 Stella981
3年前
Android Volley 发送一个简单的请求
可以通过创建一个RequestQueue并传递Request对象来使用Volley。RequestQueue管理工作线程,这些线程用于运行网络操作、读取和写入缓存和解析响应。Request对原始响应进行解析,并且Volley负责将已解析的响应分派回主线程。本文介绍如何使用Volley.newRequestQueue的便捷方法发送请求,该方法为您这是了一个
Stella981 Stella981
3年前
Executor框架(二)Executor 与 ExecutorService两个基本接口
一、Executor接口简介Executor接口是Executor框架的一个最基本的接口,Executor框架的大部分类都直接或间接地实现了此接口。只有一个方法voidexecute(Runnablecommand):在未来某个时间执行给定的命令。该命令可能在新的线程、已入池的线程或者正调用的线程中执行,这由Execut
Wesley13 Wesley13
3年前
Java 多线程高并发编程 笔记(一)
本篇文章主要是总结Java多线程/高并发编程的知识点,由浅入深,仅作自己的学习笔记,部分侵删。一.基础知识点1\.进程于线程的概念!(https://oscimg.oschina.net/oscnet/a85d12f0e90fb11f88c0a4728cd080b979b.png) 2.线程创建的两种方式!(https://
Wesley13 Wesley13
3年前
Java 并发编程:AQS 的互斥锁与共享锁
我们知道现代机器处理器几乎都是多核多线程的,引入多核多线程机制是为了尽可能提升机器整体处理性能。但是多核多线程也会带来很多并发问题,其中很重要的一个问题是数据竞争,数据竞争即多个线程同时访问共享数据而导致了数据冲突(不正确)。数据竞争如果没处理好则意味着整个业务逻辑可能出错,所以在高并发环境中我们要特别注意这点。!(https://pic2.zhim
Zuul迁移至Spring Cloud Gateway踩坑记录
缘起Zuul1.x已经不维护了,并且使用的BIO,当流量较大时性能下降的厉害,并且线程池中的线程用尽时如果某个请求返回了非200并且你没有配置处理过滤器的话,这个线程就假死了。公司的代码扫描工具也提示Zuul1.0里面有很多的jar已经过时了。Zuul2.
从多线程设计模式到对 CompletableFuture 的应用
最近在开发延保服务频道页时,为了提高查询效率,使用到了多线程技术。为了对多线程方案设计有更加充分的了解,在业余时间读完了《图解Java多线程设计模式》这本书,觉得收获良多。本篇文章将介绍其中提到的Future模式,以及在实际业务开发中对该模式的应用,而这些
京东云开发者 京东云开发者
4个月前
深入理解分布式锁:原理、应用与挑战
作者:京东物流刘浩前言在单机环境中,我们主要通过线程间的加锁机制来确保同一时间只有一个线程能够访问某个共享资源或执行某个关键代码块,从而防止各种并发修改异常。例如,在Java中提供了synchronized/Lock。但是在分布式环境中,这种线程间的锁机制