技术栈
多线程
写后端的胖头鱼
1 天前
java
·
线程池
·
多线程
·
io密集
·
cpu密集
如何区分IO/CPU 密集型,线程池核心参数怎么设置
核心公式:核心线程数 = CPU核心数 + 1+1 是为了防止某个线程偶尔页缺失 / 临时暂停,让这个备用线程顶上去,充分利用 CPU。
程序员老陆
3 天前
c++
·
多线程
std::experimental::when_any 深度解析:等待“第一个完成”的异步组合原语
在 C++ 并发编程里,std::future::get()是“等一个结果”,when_all是“等所有结果”,而 std::experimental::when_any解决的是第三类问题:一组异步任务里,谁先就绪就先响应谁。它来自 C++ Extensions for Concurrency(Concurrency TS),配合带延续(continuation)的 std::experimental::future使用,是“竞速执行 / 投机执行 / 超时控制 / 并行搜索”的核心组合算子。
for_ever_love__
12 天前
macos
·
ios
·
objective-c
·
cocoa
·
多线程
·
gcd
iOS: GCD高级API
常用的高级API有:这是GCD最简单, 也是最经典的API打印结果如下:可以观察到, 无论这个代码被调用多少次, 最终Block 只会执行一次
随遇而安zx
12 天前
java
·
多线程
·
并发
【多线程】---实战:CompletableFuture编排
基于:JDK 8+(orTimeout、completeOnTimeout、Executor defaultExecutor() 等标注 JDK 9+)
随遇而安zx
13 天前
java
·
多线程
·
aqs
【多线程】---AQS 原理 知识点(设计思想与源码深度解析)
基于:JDK 17(java.util.concurrent.locks.AbstractQueuedSynchronizer,JDK 1.5 引入,8~17 核心逻辑基本稳定)
随遇而安zx
13 天前
java
·
多线程
·
并发
【多线程】---ConcurrentHashMap 源码解析
基于:OpenJDK JDK 8u 的 java.util.concurrent.ConcurrentHashMap(对照 JDK 7 分段锁实现与 JDK 9+ 演进)
随遇而安zx
13 天前
java
·
线程池
·
多线程
【多线程】---线程池 ThreadPoolExecutor 原理与调优
基于:JDK 17(java.util.concurrent.ThreadPoolExecutor,JDK 1.5 引入,8~17 核心逻辑一致,虚拟线程 JDK 21 另文)
for_ever_love__
13 天前
macos
·
ios
·
objective-c
·
cocoa
·
多线程
·
gcd
iOS: GCD进阶,全局队列与自定义队列
RunLoop 本质上是一个事件循环机制, 让线程在没有任务是休眠, 有事件时被唤醒并处理事件普通线程:
随遇而安zx
16 天前
java
·
多线程
【多线程】---JMM 与 volatile 深度解析
基于:Java(内存模型规范 JSR-133,JDK 5+;示例基于 JDK 17 / HotSpot x86-64)
键盘会跳舞
16 天前
c++
·
多线程
·
thread_local
【C++多线程】thread_local 深度剖析:线程局部存储的生命周期与实现
前面的文章讨论了线程间的共享与同步——互斥锁保护共享数据、条件变量协调线程间通信、原子操作保证共享变量的原子性。但有时候,我们恰恰需要相反的东西:每个线程拥有自己独立的数据副本,互不干扰,不需要同步。这就是线程局部存储(Thread Local Storage,TLS)。本文将剖析 thread_local 的存储期语义、编译器实现、TLS 表与线程控制块、动态初始化顺序问题,以及 TLS 在工业场景中的应用。
2601_96209769
16 天前
python
·
多线程
·
同步
·
事件
·
锁
python的多线程编程之锁
1、 背景概述上篇文章里, 着重叙说了编程的某些基本方面, 然而其中欠缺有关锁的相关概念, 所以在这篇文章里予以补充。
键盘会跳舞
17 天前
c++
·
多线程
·
多线程调优
【C++多线程】多线程性能调优:伪共享、缓存行对齐与吞吐优化
前面的文章剖析了各种同步原语的底层原理和正确用法,本文将聚焦于多线程程序的性能调优——如何让多线程程序真正"快"起来。我们将系统剖析伪共享的检测与消除、缓存行对齐、NUMA 架构与线程亲和性、锁竞争的量化分析、高并发场景的性能 profiling 方法论,以及工业级系统的性能优化实战。
hui-梦苑
17 天前
缓存
·
性能优化
·
多线程
·
gromacs
·
动力学模拟
[Gromacs]核心性能梯度测试:GROMACS 多线程性能调优实验
笔者在进行Gromacs动力学模拟时发现,当我们将线程数设置成最大CPU线程数时,性能反而不如减少25%线程时候性能高,大概率是线程过高通信开销过大,因此设计了这个实验来验证笔者的想法与寻找最优线程数。分子动力学(MD)模拟中,我们需要设置并行线程数对计算效率非常重要。我们实验在一台配备 AMD Threadripper PRO 5945WX(12 物理核心,24 逻辑核心)和 NVIDIA RTX 4090 GPU 的工作站上,测试了 GROMACS 2024.6 在不同 OpenMP 线程数(10~2
my_realmy
17 天前
java
·
多线程
·
并发
·
锁
·
生产者消费者模式
Java SE 基础学习笔记(一):面向对象、继承多态、抽象接口与异常(JDK 8)
适用版本:JDK 8 学习目标:把“类、对象、封装、继承、多态、抽象、接口、内部类、异常”串成一个完整的知识框架。 阅读建议:代码按知识点拆分;为展示继承、接口等关系,部分片段会把相关类型放在一起。实际运行时,请将每个 public class 放在同名的 .java 文件中,并补齐片段依赖的类型。
坐吃山猪
18 天前
java
·
开发语言
·
多线程
【多线程】CompletableFuture使用
CompletableFuture:别再拿凭证死等了,让异步任务自动接力上一篇的 Future 解决了"任务异步执行"的问题,但它本质上只是一张取货凭证:想拿结果,只能守在 get() 上死等;想对结果做下一步处理,必须等亲手拿到结果之后;想把多个异步任务编排起来?Future 完全没有这个能力——一切协调都得靠主线程手工搭。
坐吃山猪
18 天前
java
·
数据库
·
oracle
·
多线程
【多线程】Semaphore使用
Semaphore:不限一个,限 N 个——并发世界的停车场道闸想象你维护着一个数据库,连接池里只有 20 个连接。某天运营搞活动,瞬时涌进 200 个请求——如果不做任何限制,200 个线程同时去抢连接,连接池瞬间枯竭,数据库被打挂,全线请求超时。
lsylalalala
19 天前
java
·
开发语言
·
多线程
多线程(4)
上一篇我们已经知道了synchronized加锁来解决线程安全问题(修改操作不是原子的),synchronized修饰普通方法相当于给this进行加锁,synchronized修饰静态方法相当于给类对象加锁。
lsylalalala
20 天前
java
·
开发语言
·
多线程
多线程(2)
除了上一节“继承Thread,重写run”创建线程(方法1)外,还有很多种方法,如下所示:代码示例:运行结果:
S3rein
1 个月前
java
·
多线程
JAVA多线程手撕
双重检查锁定三个线程循环打印,线程一打印A,线程二打印B,线程三打印C,打印10遍采用synchronized + wait/notify/notifyAll