并发编程

2024/9/23 13:16:00

C++ 封装线程池(结合QT支持信号机制)

纯C风格线程池 纯C 风格线程池可参考这篇文章 https://llfc.club/category?catid225RaiVNI8pFDD5L4m807g7ZwmF#!aid/2c2IJUcCUOfzEQQRRdOXYIZuCjP 视频教程 相关线程池和并发编程的视频可以看看这个连接: https://www.bilibili.com/video/BV1Xt421H7M7/?vd_s…

整理好了!2024年最常见 20 道并发编程面试题(八)

上一篇地址:整理好了!2024年最常见 20 道并发编程面试题(七)-CSDN博客 十五、请解释什么是不可变对象(Immutable Objects)以及它们在并发编程中的优势。 不可变对象(Immutable Objects&#x…

【Java】多线程前置知识 初识Thread

多线程前置知识 & 初识Thread 冯诺依曼体系结构初步认识存储设备CPU指令 操作系统初识操作系统内核态和用户态 进程/任务进程是什么进程的管理进程的调度虚拟内存地址进程间的通信 线程线程的出现线程是什么线程可能出现的问题线程与进程的联系和区别 协程初识Thread类Thre…

深入理解Python多进程:从基础到实战

title: 深入理解Python多进程:从基础到实战 date: 2024/4/29 20:49:41 updated: 2024/4/29 20:49:41 categories: 后端开发 tags: 并发编程多进程管理错误处理资源调度性能优化异步编程Python并发库 引言 在Python编程中,多进程是一种重要的并发编程…

synchronized和ReentrantLock区别?

不同点 synchronized synchronized是Java内置的关键字,由JVM控制的用在方法上或代码块上是非公平锁不需要手动解锁不支持超时不可以中断不支持多条件Condition以前性能不如ReentrantLock,现在性能差不多ReentrantLock JUC类库提供使用起来比synchronized…

并发-判断线程对象是否处于活动状态 - isAlive

t.isAlive() 测试线程t是否处于活动状态,只要线程启动并且没有终止,方法返回值就是truestart()之前,线程不处于活动状态,之后就处于活动状态示例:运行结果:但是事情并没有这么简单,先来看一下以…

简易限流实现

需求描述 写一个1秒两个的限流工具类,2r/s 使用semaphore 代码实现-类似令牌桶算法 public class LimitHelper {private int maxLimit;private Semaphore semaphore;private int timeoutSeconds;public LimitHelper(int maxLimit, int timeoutSeconds) {this.max…

深入剖析 Java 中的 AbstractQueuedSynchronizer(AQS)

简介 AQS是抽象类AbstractQueueSynchronizer的简称,翻译为抽象的队列同步器,它定义了一套多线程访问共享资源的同步器框架,许多同步器的实现都依赖于它,如ReentrantLock、CountDownLatch、Semaphore等。 数据结构 AQS 实现锁和同…

定时采集文件时用CountDownLatch同步的案例分享

背景 一个应用,需要定时通过 「SFTP/FTP/本地文件」等方式,采集指定目录及其子目录下所有满足文件名称规则的文件。 定时任务用 Quartz 触发,为了提高效率,为每个目录启动一个独立线程去采集。采集程序 Quartz 的 Job 流程如下&…

JUC 单例模式样例(极限性能优化)

什么是单例模式 单例模式是一种创建型设计模式,其目的是确保一个类只有一个实例,并提供全局访问点。单例模式通常用于管理全局状态、资源共享或限制资源访问的情况下。 样例代码 这串代码出自《并发编程的艺术》 样例中使用了双重检查锁来实现了单例模…

JUC 单例模式样例(极限性能优化)

什么是单例模式 单例模式是一种创建型设计模式,其目的是确保一个类只有一个实例,并提供全局访问点。单例模式通常用于管理全局状态、资源共享或限制资源访问的情况下。 样例代码 这串代码出自《并发编程的艺术》 样例中使用了双重检查锁来实现了单例模…

Java并发编程-AQS详解及案例实战(上篇)

文章目录 AQS概述AQS 的核心概念AQS 的工作原理AQS 的灵活性使用场景AQS的本质:为啥叫做异步队列同步器AQS的核心机制“异步队列”的含义“同步器”的含义总结加锁失败的时候如何借助AQS异步入队阻塞等待AQS的锁队列加锁失败时的处理流程异步入队的机制总结ReentractLock如何设…

JVM 锁的种类

优质博文:IT-BLOG-CN 一、JVM 锁【偏向锁|轻量级锁|重量级锁】 对象头[每个对象都具有对象头] Mark:对象头的标记(32位),描述对象的hash、锁信息、垃圾回收标记、年龄;内容包括:①、指向锁记录…

C++ 封装线程池(结合QT支持信号机制)

纯C风格线程池 纯C 风格线程池可参考这篇文章 https://llfc.club/category?catid225RaiVNI8pFDD5L4m807g7ZwmF#!aid/2c2IJUcCUOfzEQQRRdOXYIZuCjP 视频教程 相关线程池和并发编程的视频可以看看这个连接: https://www.bilibili.com/video/BV1Xt421H7M7/?vd_s…

【JUC并发编程系列】深入理解Java并发机制:CAS算法与原子类在Java中的实践应用(二、CAS)

文章目录 【JUC并发编程系列】深入理解Java并发机制:CAS算法与原子类在Java中的实践应用(二、CAS)1. 同步之原子类(Atomic类)2. 使用atomicInteger计数3. 使用atomicInteger底层原理3. compareAndSet原理分析3.1 手写AtomicInteger3.2 手写Lo…

golang判断通道chan是否关闭的2种方式

chan通道在go语言的办法编程中使用频繁,我们可以通过以下2种方式来判断channel通道是否已经关闭,1是使用 for range循环,另外是通过 for循环中if 简短语句的 逗号 ok 模式来判断。 示例代码如下: //方式1 通过for range形式判断…