多线程

C雨后彩虹2 天前
java·面试·多线程·同步·异步·threadlocal
ThreadLocal全面总结,从理论到实践再到面试高频题经过前面文章的系统讲解,我们从 ThreadLocal 的入门使用、底层原理、核心结构,到内存泄漏避坑、实战场景、跨线程传递、性能分析,完成了一套完整的知识闭环。
C雨后彩虹3 天前
java·多线程·同步·异步·threadlocal
跨线程数据传递InheritableThreadLocal的原理在前面的文章中,我们掌握了 ThreadLocal 的核心用法与底层原理,知道它能实现线程内数据共享、线程间数据隔离。但在实际开发中,我们经常会遇到这样的需求:父线程创建的子线程,能否直接获取父线程的 ThreadLocal 数据?
007张三丰6 天前
爬虫·python·多线程·异步·asyncio·aiohttp·今日头条
Python 多线程与异步爬虫实战:以今日头条为例在 Web 爬虫开发中,单线程请求往往成为性能瓶颈——尤其当目标网站响应较慢或需抓取大量页面时。并发(Concurrency)是提升爬取效率的关键手段。Python 提供了两种主流并发模型:多线程(Threading)和异步 I/O(Async/Await)。本文将以“今日头条新闻列表”为示例目标,分别用 ThreadPoolExecutor 和 aiohttp + asyncio 实现高性能爬虫,并对比其性能差异。
虾..6 天前
linux·多线程·
Linux 线程互斥临界资源:多线程执行流共享的资源就叫做临界资源临界区:每个线程内部,访问临界资源的代码,就叫做临界区互斥:任何时刻,互斥保证有且只有一个执行流进入临界区,访问临界资源,通常对临界资源起保护作用
fengxin_rou9 天前
java·redis·缓存·mybatis·idea·多线程
[Redis从零到精通|第四篇]:缓存穿透、雪崩、击穿目录缓存穿透缓存雪崩缓存击穿互斥锁解决办法:逻辑过期解决办法:当客户端发处的请求的数据在redis和数据都不存在时,这样缓存永远都不会生效,这些请求都会打到数据库,对数据库造成危害
茶本无香10 天前
java·spring·多线程·异步
Spring 异步执行器(Executor)配置策略与命名实践根据业务特点配置线程池隔离动态调优Spring异步执行器的合理配置需要综合考虑:建议在实际使用前进行压力测试,根据测试结果调整配置参数,并建立持续监控机制,确保异步处理系统在高并发场景下的稳定性和可靠性。
Byte不洛11 天前
linux·多线程·并发编程·生产者消费者模型·posix信号量
POSIX 信号量:基于环形队列的生产者消费者模型POSIX信号量和SystemV信号量作用相同,都是用于同步操作,达到无冲突的访问共享资源目的。但是SystemV信号量是早期的UNIX进程间通信的机制,偏内核,适合多进程,而POSIX信号量是POSIX 标准定义的轻量级同步原语,简单直观,适合多线程编程。
C雨后彩虹12 天前
java·多线程·并发·cas·异步·
CAS 在 Java 并发工具中的应用在前面文章中,我们系统学习了 CAS 的核心思想、底层实现以及三大核心问题的解决方案。理论知识最终要服务于实践,而 CAS 作为 Java 无锁并发编程的基石,早已深度融入 JDK 的并发工具体系中。
fengxin_rou12 天前
java·开发语言·redis·多线程
从 String 到 Zset:Redis 核心数据结构全解析及排行榜应用常见的有5种类型:String、Hash、List、Set、Zset应用场景:String:缓存对象、常规计数、分布式锁、共享Session信息
Byte不洛13 天前
linux·多线程·并发编程·pthread·生产者消费者模型
Linux 多线程:生产者消费者模型、阻塞队列与条件变量详解生产者消费者模式就是通过一个容器来解决生产者和消费者强耦合的问题。生产者和消费者彼此之间不直接通信,而是通过阻塞队列来进行通信,所以生产者生产完数据不同等待消费者处理,直接仍给阻塞队列,消费者不找生产者要数据,而是从阻塞队列中取,阻塞队列就相当于一个缓冲区,平和消费者和生产者的处理能力,这个阻塞队列就是用来给生产者和消费者解耦的。
A_nanda14 天前
算法·c#·多线程
c# MOdbus rto读写串口,如何不相互影响在C# Modbus RTU串口通信中,避免读写操作相互影响的关键在于合理的同步机制和资源管理。以下是几种有效的解决方案:
小酒窝.14 天前
java·多线程
【多线程】多线程打印1~100前言:上一篇文章我们使用了 ReentrantLock+Condition 实现了多线程打印 ABC,这篇文章我们来实现多线程打印数字 1~100。
风流倜傥唐伯虎14 天前
java·多线程
java多线程打印synchronized + wait()/notify() 实现打印结果:方案 A:Thread.join () 经典实现(极简代码)
今天你TLE了吗16 天前
java·后端·学习·spring·多线程
CompletableFuture原理与实践(美团技术团队文章转载&部分个人理解与思考)本篇文章来自于对美团技术团队文章的理解+二次创作原文章:美团技术团队原文随着订单、任务量的持续提升,各个系统服务面临的压力也是越来越大。在我们最近研究的优惠券系统当中,我们的优惠券结算功能(当前订单可用/不可用优惠券&相应的优惠金额)提供了接口,最终所有的订单都会调用这个接口。对外,我们向订单结算/购物车/商品界面提供这个功能接口,对内,我们调度其他的各个下游服务获取数据、进行聚合,属于是一个io密集型任务。这个任务调用的规模可能达到百万级别,更大的系统像美团外卖系统订单每日可以达到千万级别,这些情况下,
C雨后彩虹17 天前
java·线程·多线程·并发
Java 并发程序性能优化:思路、方法与实践在高并发业务场景下(如电商秒杀、直播带货、金融交易),Java 并发程序的性能直接决定了系统的吞吐量、响应时间和稳定性。很多时候,简单的线程安全实现(如无脑加锁)虽然能保证数据一致性,但会带来严重的性能瓶颈 —— 锁竞争导致线程阻塞、上下文切换开销飙升、CPU 利用率不足等问题。
Byte不洛19 天前
linux·操作系统·多线程·pthread·线程互斥
Linux 多线程编程入门:线程栈、TLS、互斥锁与条件变量详解在Linux系统中,没有很明确的线程的概念,只有轻量级进程的概念,所以操作系统给我们提供的系统调用,并不能够直接给我们创建线程,只能给我们创建轻量级进程。这个系统调用接口就是clone。
Byte不洛22 天前
linux·多线程
《Linux线程原理详解:进程、轻量级进程(LWP)与pthread实战》你是否曾困惑:线程和进程到底有什么区别?为什么 Linux 中线程的 PID 和 LWP 不一样?pthread 是怎么管理线程的?
SunkingYang23 天前
单线程·多线程·参数·原理·用法·com·coinitializeex
深入解析COM线程模型的基石:CoInitializeEx函数原理、实践与抉择在Windows平台的COM(Component Object Model)编程中,CoInitializeEx函数是通往线程安全与高效组件交互世界的钥匙。它远非一个简单的初始化调用,而是决定了你的代码将以何种姿态存在于多线程的复杂环境中,是与STA(单线程套间)的秩序共舞,还是与MTA(多线程套间)的自由狂奔。理解它,是编写健壮、高效COM应用的前提。本文将剥丝抽茧,从机制到实践,全方位解析CoInitializeEx。
没有bug.的程序员24 天前
java·开发语言·多线程·并发·cas·synchronized·
Java锁优化:从synchronized到CAS的演进与实战选择在多核CPU统治计算领域的今天,并发(Concurrency)不再是高级开发者的加分项,而是每一位工程师的生存底座。然而,并发是一把双刃剑:它赋予了程序极高的吞吐能力,也带来了致命的线程安全隐患。
Da Da 泓1 个月前
java·学习·多线程·定时器
多线程(八)【定时器】各位小伙伴们,上篇文章我为大家归纳总结了关于线程池的概念,标准库中线程池的构造方法,并且对每个构造对象单独领出来了解了一下,然后使用Java为我们封装好的线程池的使用,最后我们自己模拟实现了一个固定核心线程数的线程池~~~