线程

Trouvaille ~16 小时前
linux·运维·服务器·c++·算法·线程·互斥锁
【Linux】线程同步与互斥(一):线程互斥原理与mutex详解💬 重磅来袭:前面的文章把线程创建、管理、内存布局都讲清楚了,线程能跑了。但多个线程一起跑,马上就会遇到新麻烦:它们要访问同一份数据怎么办?比如售票系统,四个窗口同时卖票,票数是共享的,不加控制就会卖出负数票。这就是本篇要解决的核心问题——如何让多个线程安全地访问共享资源。我们会从一个会出错的售票代码开始,看看数据竞争是怎么发生的,然后引入互斥锁(mutex)来解决问题,最后深入到汇编层面理解为什么需要原子操作,并用RAII风格封装出好用的锁工具。
海市公约17 小时前
线程·进程·协程·python 多任务编程·协程异步 io·python 爬虫实战·python 并发实战
Python 多任务编程全解:进程、线程与协程从入门到实战在日常开发中,“让程序同时干多件事” 是提升效率的核心需求 —— 比如一边下载文件一边处理数据,或是批量爬取网页。Python 提供了进程、线程、协程三种多任务实现方式,它们各有适用场景与优劣。本文从基础概念出发,结合代码实例拆解这三种技术的用法、注意事项与实战场景,帮你掌握 Python 多任务编程的核心逻辑。
linweidong1 天前
stl·vector·线程·内存管理·c++20·c++面试·c++调用
虎牙C++面试题及参考答案(上)extern 关键字在 C/C++ 中是核心的链接属性说明符,核心作用是声明变量或函数的作用域为外部链接,即该变量 / 函数的定义并非在当前编译单元(.c/.cpp 文件)中,而是存在于其他编译单元,编译器编译当前单元时不会为其分配内存或生成函数体,仅做语法校验,链接阶段由链接器从其他编译单元中找到对应的定义并完成关联。同时 extern 也可用于声明全局变量,避免因重复定义导致的链接错误 —— 全局变量若仅声明不定义(加 extern),可在多个编译单元中存在,而定义(不加 extern)只能出现在一个
添砖java‘’1 天前
linux·c++·操作系统·线程·信息与通信
线程的互斥与同步目录前言互斥存在问题问题解决锁简单使用相关问题原理同步概念条件变量POSIX信号量概念相关接口生产者消费者模型
C雨后彩虹3 天前
java·线程·多线程·并发
Java 并发程序性能优化:思路、方法与实践在高并发业务场景下(如电商秒杀、直播带货、金融交易),Java 并发程序的性能直接决定了系统的吞吐量、响应时间和稳定性。很多时候,简单的线程安全实现(如无脑加锁)虽然能保证数据一致性,但会带来严重的性能瓶颈 —— 锁竞争导致线程阻塞、上下文切换开销飙升、CPU 利用率不足等问题。
Trouvaille ~6 天前
linux·运维·服务器·c++·线程·虚拟地址空间·pcb
【Linux】线程概念与控制(一):线程本质与虚拟地址空间💬 开篇引入:在前面的进程学习中,我们已经掌握了进程的概念、创建、终止、等待等知识。但实际开发中,我们常常听到"多线程编程"这个词。线程到底是什么?它和进程有什么区别?为什么需要线程?更重要的是,线程究竟在进程的哪里运行?本篇将从最基础的线程概念出发,深入剖析虚拟地址空间与分页机制,为后续理解线程的地址空间布局打下坚实基础!
小楼v9 天前
java·后端·线程·并发安全
常见的java线程并发安全问题八股synchronized采用互斥的方式让同一时刻只有一个线程持有这个对象锁,它的底层是由jvm提供的monitor实现的,线程获得锁后会关联monitor,然后monitor内有三个属性owner、entryList、waitSet,如果owner为null,那线程就会正常执行,如果owner不为null,线程就会进入entryList阻塞,只有当拿到锁的线程释放锁后,阻塞中的这些线程才会去争抢owner,如果waitSet关联就是有调用wait()方法处于waiting状态。
小楼v13 天前
java·后端·线程
常见的Java线程八股进程是当一个程序运行时候,从磁盘加载这个程序的代码到内存,这时就开启了一个进程,进程分为单实例进程和多实例进程,单实例进程就是打开的程序只能打开一份,多实例进程就是打开的程序可以打开多份。线程就是将一条一条的命令以一定顺序交给CPU执行,一个进程内包含一到多个线程。一个进程下的所有线程可以共享内存空间,线程是更轻量的,一个线程切换到另一个线程的成本更低。
yueqc115 天前
android·线程
Android 线程梳理Android 线程梳理Android 进程梳理Input窗口动画ServiceThread:ServiceThread 继承自 HandlerThread ,下面介绍的几个工作线程都是继承自 ServiceThread。每个 Thread 都有自己的 Looper 、Thread 和 MessageQueue,互相不会影响。
无小道16 天前
linux·线程·进程·os·线程库·用户级线程库·线程使用
OS中的线程优点:缺点:健壮性低,一个线程崩,所有线程都崩(比如,当一个线程执行非法操作,系统的kill信号不是单发给某个线程,而是发送给整个进程,再比如,一个线程没释放锁,其余线程都卡住)。
专业的小学生16 天前
缓存·线程·thread·threadlocal
单线程缓存用户本地单线程缓存,可以防止重复查询数据。注意:由于缓存了,所以中间不能进行更新和删除,主要用于防止多次查询相同的数据。
_OP_CHEN20 天前
开发语言·c++·qt·安全·线程·前端开发·线程安全
【从零开始的Qt开发指南】(二十)Qt 多线程深度实战指南:从基础 API 到线程安全,带你实现高效并发应用编辑前言一、Qt 多线程核心认知1.1 为什么需要多线程?1.2 Qt 多线程的优势1.3 核心概念澄清
故事不长丨22 天前
c#·线程·多线程·thread·线程同步·异步编程·线程锁
C#线程编程全解析:从基础应用到高级实践线程是程序执行的最小单元,在 C# 中,通过System.Threading命名空间提供了完整的线程管理能力。线程的生命周期包含多个重要阶段,理解这些阶段是有效控制线程行为的基础。
ベadvance courageouslyミ24 天前
c语言·线程·makefile·进程间通信·线程邮箱
项目一(线程邮箱)创建MBS---->注册线程---->等待mbs结束---->销毁邮箱系统MBS的创建并初始化创建节点并注册
ベadvance courageouslyミ24 天前
http·线程·在线商城·界面跳转
简易在线商城制作在网络购物日益普及的场景下,用户需要一个轻量、高效的在线商城系统,实现商品浏览、搜索、登录验证等核心功能。当前部分简易商城系统存在功能冗余、运行依赖复杂等问题,而本系统
我在人间贩卖青春1 个月前
线程·线程创建
线程的创建pthread_create() 不会设置全局变量 errno,错误信息直接通过返回值给出必须使用 -pthread 选项(注意是 -pthread,不是 -lpthread,虽然后者通常也行)
superman超哥1 个月前
开发语言·后端·rust·线程·异步·无锁·rust并发性能
Rust 并发性能调优:线程、异步与无锁的深度优化并发是现代应用性能的核心支柱,充分利用多核处理器能带来线性甚至超线性的性能提升。但并发编程充满陷阱——锁竞争、伪共享、缓存一致性开销、上下文切换、调度延迟都会侵蚀并发收益。Rust 的所有权系统在编译期保证内存安全和数据竞争自由,让并发编程更安全,但性能优化仍需要深入理解。从线程池到异步运行时,从无锁数据结构到原子操作,从工作窃取到任务分块策略,每个决策都深刻影响并发性能。理解 Amdahl 定律的限制、识别串行瓶颈、选择合适的并发模型、优化同步开销、避免伪共享,是构建高性能并发应用的关键。本文深入探讨
橘子真甜~1 个月前
网络·数据库·redis·缓存·线程·数据类型·存储结构
Reids命令原理与应用3 - Redis 主线程,辅助线程与存储原理上篇文章:Reids命令原理与应用2 - Redis网络层与优化,pipeline,发布订阅与事务-CSDN博客
天然玩家1 个月前
线程·纤程·协程·虚拟线程
【计算机技术】线程/协程/纤程/虚拟线程在软件世界里,性能与并发始终是绕不开的主题。从最早的操作系统线程,到语言层的协程,再到更轻量的纤程,以及近年来备受关注的虚拟线程,每一次抽象层级的提升,都是为了让程序能以更低的成本、更高的效率处理更多任务。随着硬件发展放缓、应用规模不断扩大,我们不再单纯依赖“更快的 CPU”,而是必须学会更聪明地使用计算资源。理解线程、协程、纤程与虚拟线程的演进,不只是掌握几个名词,而是看清现代并发模型背后的设计哲学:如何在复杂性、性能与开发体验之间找到平衡。也正因此,重新梳理这些概念,成为每一个开发者迈向更高层次并发编
武藤一雄1 个月前
后端·安全·微软·c#·.net·.netcore·线程
C# 中线程安全都有哪些在软件工程中,处理并发就像管理一个繁忙的十字路口。如果没有任何规则,必然发生碰撞(数据损坏)。在多线程环境下,多个线程同时访问同一块内存区域(比如一个变量或对象),如果最终的结果符合预期且程序没有崩溃或数据错乱,这就是线程安全。