技术栈
线程
HalvmånEver
6 小时前
linux
·
运维
·
服务器
·
线程
·
同步
Linux:线程同步
线程互斥解决了 “临界资源不冲突” 的问题,但无法保证线程执行顺序。在实际场景中,我们常需要线程按特定逻辑协同工作(如生产者生产数据后,消费者才能消费),这就需要线程同步技术。本文带你理解线程同步的本质、核心工具(条件变量、信号量)及经典应用场景
我是阿亮啊
3 天前
android
·
线程
·
进程
·
进程间通信
Android 中线程和进程详解
原因:解决:
HalvmånEver
4 天前
linux
·
运维
·
服务器
·
操作系统
·
线程
Linux:线程 ID 与地址空间布局:深入理解线程内存分布(线程七)
Linux 中有两种线程 ID:用户态线程 ID(pthread_t)和内核态线程 ID(tid),前者是进程内唯一的虚拟地址,后者是系统全局唯一标识。线程的地址空间布局中,主线程栈在栈区,子线程栈在共享区(mmap 映射),所有线程共享代码段、数据段、堆等资源。
晚风吹长发
6 天前
linux
·
运维
·
服务器
·
开发语言
·
c++
·
centos
·
线程
初步了解Linux中的线程概率及线程控制
既然说到了线程,我们首先应该知道什么叫做线程,我们已经知道了进程有我们的PCB+数据和代码,还有进程地址空间等,而线程我们可以看作是在一个进程中除了PCB外共用其他数据的一个进程,也就是说我们的进程拥有独立的PCB,除此之外其他的都是用的进程的。如下图所示,我们拥有的每一个线程都有一个task_struct结构体,但是他们共用了一个进程地址空间,一个页表等。所以我们把线程也称作轻量级进程。所以我们之前学到的进程,可以看作是只有一个PCB的线程。所以我们重新定义进程和线程之间的概率。进程:是操作系统承担分配
Trouvaille ~
7 天前
linux
·
运维
·
服务器
·
c++
·
算法
·
线程
·
互斥锁
【Linux】线程同步与互斥(一):线程互斥原理与mutex详解
💬 重磅来袭:前面的文章把线程创建、管理、内存布局都讲清楚了,线程能跑了。但多个线程一起跑,马上就会遇到新麻烦:它们要访问同一份数据怎么办?比如售票系统,四个窗口同时卖票,票数是共享的,不加控制就会卖出负数票。这就是本篇要解决的核心问题——如何让多个线程安全地访问共享资源。我们会从一个会出错的售票代码开始,看看数据竞争是怎么发生的,然后引入互斥锁(mutex)来解决问题,最后深入到汇编层面理解为什么需要原子操作,并用RAII风格封装出好用的锁工具。
海市公约
7 天前
线程
·
进程
·
协程
·
python 多任务编程
·
协程异步 io
·
python 爬虫实战
·
python 并发实战
Python 多任务编程全解:进程、线程与协程从入门到实战
在日常开发中,“让程序同时干多件事” 是提升效率的核心需求 —— 比如一边下载文件一边处理数据,或是批量爬取网页。Python 提供了进程、线程、协程三种多任务实现方式,它们各有适用场景与优劣。本文从基础概念出发,结合代码实例拆解这三种技术的用法、注意事项与实战场景,帮你掌握 Python 多任务编程的核心逻辑。
linweidong
7 天前
stl
·
vector
·
线程
·
内存管理
·
c++20
·
c++面试
·
c++调用
虎牙C++面试题及参考答案(上)
extern 关键字在 C/C++ 中是核心的链接属性说明符,核心作用是声明变量或函数的作用域为外部链接,即该变量 / 函数的定义并非在当前编译单元(.c/.cpp 文件)中,而是存在于其他编译单元,编译器编译当前单元时不会为其分配内存或生成函数体,仅做语法校验,链接阶段由链接器从其他编译单元中找到对应的定义并完成关联。同时 extern 也可用于声明全局变量,避免因重复定义导致的链接错误 —— 全局变量若仅声明不定义(加 extern),可在多个编译单元中存在,而定义(不加 extern)只能出现在一个
添砖java‘’
7 天前
linux
·
c++
·
操作系统
·
线程
·
信息与通信
线程的互斥与同步
目录前言互斥存在问题问题解决锁简单使用相关问题原理同步概念条件变量POSIX信号量概念相关接口生产者消费者模型
C雨后彩虹
9 天前
java
·
线程
·
多线程
·
并发
Java 并发程序性能优化:思路、方法与实践
在高并发业务场景下(如电商秒杀、直播带货、金融交易),Java 并发程序的性能直接决定了系统的吞吐量、响应时间和稳定性。很多时候,简单的线程安全实现(如无脑加锁)虽然能保证数据一致性,但会带来严重的性能瓶颈 —— 锁竞争导致线程阻塞、上下文切换开销飙升、CPU 利用率不足等问题。
Trouvaille ~
11 天前
linux
·
运维
·
服务器
·
c++
·
线程
·
虚拟地址空间
·
pcb
【Linux】线程概念与控制(一):线程本质与虚拟地址空间
💬 开篇引入:在前面的进程学习中,我们已经掌握了进程的概念、创建、终止、等待等知识。但实际开发中,我们常常听到"多线程编程"这个词。线程到底是什么?它和进程有什么区别?为什么需要线程?更重要的是,线程究竟在进程的哪里运行?本篇将从最基础的线程概念出发,深入剖析虚拟地址空间与分页机制,为后续理解线程的地址空间布局打下坚实基础!
小楼v
15 天前
java
·
后端
·
线程
·
并发安全
常见的java线程并发安全问题八股
synchronized采用互斥的方式让同一时刻只有一个线程持有这个对象锁,它的底层是由jvm提供的monitor实现的,线程获得锁后会关联monitor,然后monitor内有三个属性owner、entryList、waitSet,如果owner为null,那线程就会正常执行,如果owner不为null,线程就会进入entryList阻塞,只有当拿到锁的线程释放锁后,阻塞中的这些线程才会去争抢owner,如果waitSet关联就是有调用wait()方法处于waiting状态。
小楼v
19 天前
java
·
后端
·
线程
常见的Java线程八股
进程是当一个程序运行时候,从磁盘加载这个程序的代码到内存,这时就开启了一个进程,进程分为单实例进程和多实例进程,单实例进程就是打开的程序只能打开一份,多实例进程就是打开的程序可以打开多份。线程就是将一条一条的命令以一定顺序交给CPU执行,一个进程内包含一到多个线程。一个进程下的所有线程可以共享内存空间,线程是更轻量的,一个线程切换到另一个线程的成本更低。
yueqc1
20 天前
android
·
线程
Android 线程梳理
Android 线程梳理Android 进程梳理Input窗口动画ServiceThread:ServiceThread 继承自 HandlerThread ,下面介绍的几个工作线程都是继承自 ServiceThread。每个 Thread 都有自己的 Looper 、Thread 和 MessageQueue,互相不会影响。
无小道
21 天前
linux
·
线程
·
进程
·
os
·
线程库
·
用户级线程库
·
线程使用
OS中的线程
优点:缺点:健壮性低,一个线程崩,所有线程都崩(比如,当一个线程执行非法操作,系统的kill信号不是单发给某个线程,而是发送给整个进程,再比如,一个线程没释放锁,其余线程都卡住)。
专业的小学生
22 天前
缓存
·
线程
·
thread
·
threadlocal
单线程缓存
用户本地单线程缓存,可以防止重复查询数据。注意:由于缓存了,所以中间不能进行更新和删除,主要用于防止多次查询相同的数据。
_OP_CHEN
1 个月前
开发语言
·
c++
·
qt
·
安全
·
线程
·
前端开发
·
线程安全
【从零开始的Qt开发指南】(二十)Qt 多线程深度实战指南:从基础 API 到线程安全,带你实现高效并发应用
编辑前言一、Qt 多线程核心认知1.1 为什么需要多线程?1.2 Qt 多线程的优势1.3 核心概念澄清
故事不长丨
1 个月前
c#
·
线程
·
多线程
·
thread
·
线程同步
·
异步编程
·
线程锁
C#线程编程全解析:从基础应用到高级实践
线程是程序执行的最小单元,在 C# 中,通过System.Threading命名空间提供了完整的线程管理能力。线程的生命周期包含多个重要阶段,理解这些阶段是有效控制线程行为的基础。
ベadvance courageouslyミ
1 个月前
c语言
·
线程
·
makefile
·
进程间通信
·
线程邮箱
项目一(线程邮箱)
创建MBS---->注册线程---->等待mbs结束---->销毁邮箱系统MBS的创建并初始化创建节点并注册
ベadvance courageouslyミ
1 个月前
http
·
线程
·
在线商城
·
界面跳转
简易在线商城制作
在网络购物日益普及的场景下,用户需要一个轻量、高效的在线商城系统,实现商品浏览、搜索、登录验证等核心功能。当前部分简易商城系统存在功能冗余、运行依赖复杂等问题,而本系统
我在人间贩卖青春
1 个月前
线程
·
线程创建
线程的创建
pthread_create() 不会设置全局变量 errno,错误信息直接通过返回值给出必须使用 -pthread 选项(注意是 -pthread,不是 -lpthread,虽然后者通常也行)