E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
RAII互斥量
线程同步与互斥详解
线程同步与互斥文章目录线程同步与互斥线程互斥进程线程间的互斥相关背景概念
互斥量
的接口
互斥量
实现原理可重入和线程安全常见的线程不安全的情况常见的线程安全情况常见锁概念死锁死锁四个必要条件避免死锁避免死锁算法线程同步什么是同步条件变量条件变量初始化函数条件变量销毁等待条件满足唤醒等待线程互斥进程线程间的互斥相关背景概念临界资源
小赵小赵福星高照~
·
2023-12-25 10:57
Linux
线程同步与互斥
RT-Thread 内核对象管理框架
RT-Thread内核对象包括:线程,信号量,
互斥量
,事件等。对象容器中包含了每类内核对象的信息,包括对象类型,大小等。对象容器给每类内核对象分配了一个链表,所有的内核对象都被链接到该链表上。
饼干饼干圆又圆
·
2023-12-25 08:00
RT-Thread
RT-Thread
嵌入式实时操作系统
【Linux】Linux线程互斥与同步
文章目录一、Linux线程互斥1.进程线程间的互斥相关背景概念2.
互斥量
的接口3.
互斥量
实现原理4.可重入VS线程安全4.1.可重入和线程安全的概念4.2常见的线程不安全的情况4.3常见的线程安全的情况
椿融雪
·
2023-12-25 05:19
Linux系统编程
linux
java
线程互斥
线程同步
互斥锁
条件变量
可重入与线程安全
Linux多线程
文章目录多线程线程安全线程互斥
互斥量
(互斥锁)pthread_mutex_t静态初始化动态初始化(pthread_mutex_init)pthread_mutex_lockpthread_mutex_unlockpthread_mutex_destroy
梦想很美
·
2023-12-23 18:02
C++
linux
运维
服务器
c++
RAII
智能指针
一.RAIIresourceacquisitionisinitializationRAII是利用对象声明周期来控制程序资源的简单技术在对象构造时获取资源,控制着对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的时候释放资源。借此,我们实际上把管理一份资源的责任托管给一个对象好处:①.不需要显式地释放资源②.采用这种方式,对象所需的资源在其生命周期内始终有效二.智能指针auto_ptr
C1238888
·
2023-12-23 16:45
开发语言
c++
算法
操作系统----临界区,临界资源,
互斥量
,互斥对象
目录用户模式和内核模式用户模式中的线程同步临界资源:临界区:进程进入临界区的调度原则:内核模式中的线程同步互斥对象:
互斥量
:两者线程同步的区别先来下个结论,临界区和临界资源是用户模式中的线程同步中的概念
dulu~dulu
·
2023-12-23 12:55
学习日常(考研向)
linux
运维
服务器
进程的同步
互斥量
临界区
C++——C++11(2)
我在我的C++异常博客中曾提到,对于异常的处理经常会导致内存泄漏问题,一种解决方法是异常的重新抛出,还有一种就是
RAII
,那么
RAII
的思想体现在C++中就是智能指针,所以接下来我将简单的介绍,什么是
RAII
歪~~
·
2023-12-23 06:03
c++
开发语言
【RTOS学习】源码分析(信号量和
互斥量
&& 事件组 && 任务通知)
目录信号量和
互斥量
创建TakeGive事件组设置事件等待事件同步点任务通知发通知等待通知总结信号量和
互斥量
信号量和
互斥量
几乎一模一样:创建:如上图所示,创建时使用的都是xSemaphoreCreateXXX
一只大喵咪1201
·
2023-12-22 10:20
RTOS学习
学习
arm开发
架构
c语言
stm32
生产消费者模型(引入--超市),321原则,阻塞队列实现+优点(代码,伪唤醒问题,条件变量接口wait中锁的作用),进阶版实现(生产任务,
RAII
风格),多生产多消费实现+优点
基础版思路代码pthread_cond_wait的第二个参数为什么是把锁伪唤醒问题介绍代码示例优点引入介绍模拟实现--进阶版增加生产/消费规则生产任务(随机)思路代码示例生产任务(从键盘读入)代码示例锁的封装(
RAII
沐风ya
·
2023-12-22 05:02
linux
开发语言
c++
linux
Linux线程——条件变量
条件变量与
互斥量
一起使用时,允许线程以无竞争的方式等待特定的条件发生。条件本身是由
互斥量
保护的。
郑老师的小学童
·
2023-12-21 23:55
Linux系统编程
linux
细谈lock_guard与shared_lock与unique_lock的区别
C++互斥锁(
互斥量
)封装在Mutex类中,每个线程在对资源操作前都尝试先加锁,成功加锁才能操作,操作结束解锁。同一时刻,只能有一个线程持有该锁。
W Y
·
2023-12-21 15:03
c++
锁
【RTOS学习】源码分析(通用队列 && 队列 && 队列集)
目录通用队列队列创建写数据读数据被唤醒队列集创建操作总结通用队列队列(Queue)、队列集(QueueSet)、信号量(Semaphore)、
互斥量
(Mutex)、递归
互斥量
,这5种机制的核心都是通用队列
一只大喵咪1201
·
2023-12-21 04:55
RTOS学习
学习
arm开发
c语言
stm32
浅析Linux之线程间的同步与互斥
目录同步与互斥的概述互斥同步互斥锁(
互斥量
)类型初始化申请上锁解锁销毁锁组合拳利用标志位实现互斥死锁读写锁解决特点规则初始化申请读锁申请写锁释放读写锁销毁读写锁信号量功能分类本质支持的操作实现互斥实现同步无名信号量的使用初始化信号量减一尝试对信号量减一信号量加一销毁信号量有名信号量的使用打开
飞翔的杨先生
·
2023-12-20 12:08
开发语言
c语言
linux
物联网
在RTOS中验证
互斥量
有效解决优先级反转现象
我们在stm32f103c8t6单片机上验证RTOS
互斥量
有效解决优先级反转现象,利用stm32cube进行RTOS的配置。
yangdongdeboke
·
2023-12-19 15:00
RTOS
stm32cube
互斥量有效解决优先级反转现象
0089__一条普遍存在于嵌入式实时系统(RTOS)中的嵌套使用
互斥量
的bug分析
一条普遍存在于嵌入式实时系统(RTOS)中的嵌套使用
互斥量
的bug分析_rt_mutex_take-CSDN博客
*_潇_*
·
2023-12-19 03:22
0016__C/C++
bug
【C++高阶(七)】C++异常处理的方式
NEO ⏩专栏分类:C++从入门到精通⏪ 代码仓库:NEO的学习日记 关注我带你学习C++ 异常处理的方式1.前言2.C语言处理异常的方式3.C++异常概念4.异常的抛出和匹配原则5.异常的重新抛出6.
RAII
杭电码农-NEO
·
2023-12-19 01:22
c++
开发语言
异常处理
C++11 ——— 线程库
文章目录线程库线程库(thread)线程对象的构造方式thread提供的成员函数获取线程的id的方式线程函数的参数问题join与detach
互斥量
库(mutex)mutex的种类lock_guard和unique_lock
2021dragon
·
2023-12-19 00:15
C++
c++
开发语言
让内存无处可逃:智能指针[C++11]
智能指针文章目录智能指针前言
RAII
什么是智能指针智能指针的应用示例C++98的auto_ptr共享型智能指针:shared_ptrshared_ptr的使用初始化获取原生指针指定删除器默认删除器default_delete
EQUINOX1
·
2023-12-18 08:54
c++
开发语言
C++
智能指针用法及其使用代码详解
目录概念
RAII
机制介绍智能指针雏形shared_ptr原理介绍shared_ptr使用方法unique_ptrweak_ptr概念智能指针不是一个指针,它其实是一个对象。
晴夏。
·
2023-12-18 03:06
c++编程相关
智能指针
【C++多线程编程】(三)之详解lock_guard
std::lock_guard的主要作用是在多线程环境中简化互斥锁的使用,通过
RAII
(资源获取即初始化)方式确保在作用域内对互斥锁的安全管理。
SensizliKLoU
·
2023-12-17 13:39
学习笔记
c++
开发语言
学习方法
笔记
【Linux】多线程编程
目录1.线程基础知识2.线程创建3.线程ID(TID)4.线程终止5.线程取消6.线程等待7.线程分离8.线程互斥8.1初始化
互斥量
8.2销毁
互斥量
8.3
互斥量
加锁和解锁9.可重入和线程安全10.线程同步之条件变量
秋秋晗晗
·
2023-12-17 07:28
Linux
linux
深入理解Java虚拟机---线程安全与锁优化
而互斥是实现同步的一种手段,临界区(CriticalSection)、
互斥量
(Mutex)和信号量(Semapho
kk变色龙13
·
2023-12-16 20:20
java
安全
开发语言
c++线程同步之条件变量
条件变量需要和
互斥量
配合起来使用,C++11提供了两种条件变量:condition_variable:需要配合std::unique_lock进行wait操作,也就是阻塞线程的操作。
Liuuuu408
·
2023-12-16 03:19
c++
c++11新特性
c++
开发语言
C++ 11 -- 初步认识智能指针
一.
RAII
1.1
RAII
的概念一般情况下,C++申请资源后都需要手动释放资源,一旦忘记资源的释放就会造成内存泄漏,为了解决内存泄漏问题,C++引入了
RAII
机制。
云烟梦柳
·
2023-12-16 01:49
java
开发语言
c++
数据结构
linux
算法
【C++多线程编程】(一)之详解互斥锁mutex
mutex是
互斥量
(Mutex)的缩写,是一种用于多线程编程的同步机制。
互斥量
是一种用于保护共享资源免受并发访问的机制,以防止多个线程同时修改相同的数据而引发竞态条件(RaceCondition)。
SensizliKLoU
·
2023-12-16 00:24
学习笔记
c++
ubuntu
在Windows API中HANDLE句柄
句柄是一个抽象的概念,它可以代表各种类型的对象,如文件、进程、线程、事件、
互斥量
等。HANDLE类型是一个指向内部数据结构的指针,用于在应用程序和操作系统之间传递和操作句柄。
周杰伦fans
·
2023-12-15 00:38
C++
Windows的一些小方法
小知识
MFC
windows
c++
深入理解 Go Channel:解密并发编程中的通信机制
函数与函数间需要交互数据才能体现编发执行函数的意义虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发送静态问题为了保证数据交换的正确性,必须使用
互斥量
对内存进行加锁,这种做法势必造成性能问题
奔跑的蜗牛.
·
2023-12-14 21:39
GoLang
golang
开发语言
后端
FreeRTOS第2天:信号量、
互斥量
、时间标志组、任务通知、延时函数、软件定时器、中断管理
1.二值信号量简介(386.11)什么是信号量?信号量(Semaphore),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代码段不被并发调用。信号量这个名字,我们可以把它拆分来看,信号可以起到通知信号的作用,然后我们的量还可以用来表示资源的数量,当我们的量只有0和1的时候,它就可以被称作二值信号量,只有两个状态,当我们的那个量没有限制的时候,它就可以被称作为计数型信号量。信号量也是
Cui杰西
·
2023-12-14 15:53
stm32
c++面试宝典
(线程同步)Mutex
互斥量
,C++11中使用std::mutex类,必须包含头文件。(1)Mutex系列类(四种)std::mutex,最基本的Mutex类。构造函数,std
步基
·
2023-12-05 12:17
c++
c++
linux 应用层同步和互斥机制之
互斥量
1、
互斥量
(Mutex)1.1初始化
互斥量
是属于pthread_mutex_t类型变量,使用之前必须初始化。
一叶知秋yyds
·
2023-12-05 12:06
linux
linux
c语言
网络
linux 应用层同步与互斥机制之条件变量
2、条件变量
互斥量
防止多个线程同时访问同一共享变量。(我们称为互斥)有一种情况,多个线程协同工作。一个线程的消费需要等待另一个线程的产出。
一叶知秋yyds
·
2023-12-05 12:33
linux
linux
网络
C++:智能指针[重点!]
目录一、关于智能指针1、引入智能指针2、
RAII
二、详述智能指针auto_ptrunique_ptrshared_tr循环引用weak_ptr定制删除器三、关于内存泄漏一、关于智能指针1、引入智能指针首先引入一个例子
青春_strive
·
2023-12-05 11:02
C++
c++
开发语言
C++-详解智能指针
目录编辑一.什么是智能指针1.
RAII
2.智能智能指针二.为什么需要智能指针1.内存泄漏a.什么是内存泄漏,内存泄漏的危害b.内存泄漏分类c.如何检测内存泄漏d.如何避免内存泄漏总结一下:2.为什么需要智能指针以及智能指针的原理三
Small black human
·
2023-12-05 05:50
c++
开发语言
FreeRTOS-信号量/
互斥量
目录信号量创建信号量删除信号量give/take应用场景:使用二进制信号量来同步应用场景:防止数据丢失应用场景:使用计数型信号量
互斥量
创建
互斥量
删除
互斥量
give释放/take获取应用场景:
互斥量
基本使用应用场景
Couvrir洪荒猛兽
·
2023-12-04 21:21
#
FreeRTOS个人笔记
stm32
Boost.Interprocess 官方文档学习笔记
信号量、
互斥量
、条件变量和可升级的
互斥量
类型,以将它们放置在共享内存和内存映射文件中。这些同步对象的命名版本,类似于UNIX/Windows的sem_open/Cr
东方不常败
·
2023-12-03 16:31
c++
开发语言
Boost.Interprocess使用手册翻译之六:同步机制(Synchronization mechanisms)
六.同步机制同步机制概述
互斥量
条件变量信号量升级
互斥量
通过移动语义转移锁文件锁消息队列同步机制概述具名和匿名同步机制同步机制类型如前所述,如果对内存的访问不能有效的同步,则通过内存映射文件或共享内存对象在进程间共享内存的能力就不是非常有用了
章志强
·
2023-12-03 16:57
C/C++
C++【智能指针】
内存泄漏什么是内存泄漏,内存泄漏的危害内存泄漏分类如何避免内存泄漏智能指针的使用及原理
RAII
思想智能指针的原理C++标准库提供的常见智能指针为什么需要智能指针?
cefler
·
2023-12-03 14:56
C++
c++
智能指针
FreeRTOS笔记(仅供参考)
多任务系统1.5.数据结构1.5.1.链表1.5.2.双向链表1.5.3.FreeRTOS的链表2.任务2.1.创建任务临界段保护空闲任务与阻塞延时多优先级延时列表支持时间片移植创建任务任务管理消息队列信号量
互斥量
事件软件定时器任务通知内存管理
小电动车
·
2023-12-03 07:19
单片机
单片机
stm32
FreeRTOS源码阅读笔记5--mutex
互斥量
是一种特殊的二值信号量,拥有优先级继承的机制,所以适合用在临界资源互斥访问。
c_up
·
2023-12-03 07:18
笔记
ESPIDF开发ESP32学习笔记【ESP32上的FreeRTOS】
简介内核组成源码结构任务管理(线程管理、线程调度)优先级抢占式调度算法时间管理(时钟节拍)ESP32的硬件定时器定时器初始化定时器控制ESP32中的FreeRTOS时钟内存管理(内存堆)通信管理(消息队列、事件集、信号量、
互斥量
内 鬼
·
2023-12-03 07:47
ESP32
freertos
rtos
iot
嵌入式
Effective C++(四): 资源管理
文章目录一、智能指针驱动的
RAII
二、shared_ptr和weak_ptr三、如何复制
RAII
对象四、在资源管理类中应该提供对原始资源的访问函数为了防止忘记调用delete造成的内存泄露,我们应该尽可能让对象管理资源
NUS_Ryan
·
2023-12-03 01:57
effective
cpp
c++
【智能指针】
目录:前言智能指针(一)智能指针初始了解内存泄漏1.内存泄漏分类2.如何检测内存泄漏3.如何避免内存泄漏使用智能指针之前,异常安全的处理(二)智能指针实现既原理智能指针
RAII
使用智能指针之后,异常安全的处理
胜利熊猫
·
2023-12-02 06:49
c++初阶
开发语言
c++
后端
智能指针
C++11---智能指针
1.1内存泄漏2.智能指针的使用及原理2.1
RAII
2.2智能指针的原理3.C++98---auto_ptr4.unique_ptr5.shared_ptr5.1循环引用6.weak_ptr1.为什么引入智能指针
没什么..
·
2023-11-30 13:49
C++语法知识
C++——
互斥量
文章目录一、基本知识二、独占
互斥量
mutex1.mutex的介绍2.mutex的成员函数3.实例演示三、lock_guard和unique_lock的使用和区别四、递归
互斥量
recursive_mutex1
孟小胖_H
·
2023-11-28 10:29
C++
c++
【C++】线程同步一
文章目录一、线程同步题(1)原子操作(2)互斥锁(3)
RAII
包装类管理互斥锁一、线程同步题两个线程同时对一个全局变量++操作,保证最后的结果正确(1)原子操作#include#include#include
code-016
·
2023-11-28 10:28
C++
c++
线程同步
C++11
互斥量
mutex----mutex/time_mutex/recursive_mutex/recursive_timed_mutex
互斥量
C++11提供如下4种语义的
互斥量
(mutex)std::mutex,独占的
互斥量
,不能递归使用。std::time_mutex,带超时的独占
互斥量
,不能递归使用。
back2childhood
·
2023-11-28 10:56
c++
11/14/17/20
c++
开发语言
C++ 11
互斥量
与死锁
一、
互斥量
(mutex)的基本概念
互斥量
mutex是个类对象,可以理解为一把锁,多个线程尝试用其成员函数lock()来加锁,只有一个线程能锁定成功,如果没有锁成功,那么流程将卡在lock()这里不断尝试去锁定
洪流之源
·
2023-11-28 10:55
c/c++
c++
C++
互斥量
使用
目录前言问题测试解决方案总结前言在实际开发中,使用
互斥量
不当,导致程序出现“deviceorresourcebusy:deviceorresourcebusy”异常错误。
Ning静致远
·
2023-11-28 10:54
C++
c++
开发语言
C++11的条件变量
条件变量需要和
互斥量
配合起来用。C++11提供了两种条件变量:1、condition_variable,配合std::unique_lock进行wait操作。
铲灰
·
2023-11-28 10:23
深入应用C++11
c++
开发语言
C++多线程——
互斥量
并发的优点分离关注点通过将相关的代码与无关的代码分离,可以使程序更容易理解和测试,从而减少出错的可能性更好的性能将一个单个任务分成几部分,且各自并行运行,从而降低总运行时间。这就是任务并行(taskparallelism)。为性能而使用并发就像所有其他优化策略一样:它拥有大幅度提高应用性能的潜力,但它也可能使代码复杂化,使其更难理解,并更容易出错。并发的缺点线程是有限的资源如果让太多的线程同时运行
princeteng
·
2023-11-28 10:22
操作系统
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他