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互斥量
结合java中的锁聊聊锁的本质
在操作系统里面,也会遇到什么信号量、
互斥量
,然后说利用
互斥量
、信号量可以实现锁的功能,而操作系统提供的原语有又mutex锁在学习数据库的时候,什么表锁、行锁、读锁、写锁、排它锁、意向锁、meta锁等等,
georgesnoopy
·
2023-10-30 18:05
java基础
java锁
synchronize
lock
C++并发与多线程(10) | 死锁
一、死锁概念只有两个
互斥量
才会产生死锁问题。举个例子:两个锁——金锁,银锁和两个线程A,B(1)A执行时,这个线程先锁金锁,把金锁Lock()成功了,然后它去lock银锁。
曙光_deeplove
·
2023-10-30 17:43
C++
C++多线程 (3):锁与智能锁
锁
互斥量
,互斥锁(strd::mutex类):头文件#include简述:是个类对象。
小小李程序员
·
2023-10-30 13:19
C++多线程
c++
C++多线程 (4):条件变量
condition_variable简述:std::condition_variable是一个类成员函数:1.wait(std::unique_lock&)没有第二个参数时默认返回值为false对当前
互斥量
解锁并阻塞当前线程原理
小小李程序员
·
2023-10-30 13:19
C++多线程
c++
c++系列——智能指针
1.智能指针的使用及原理1.1RAIIRAII(ResourceAcquisitionIsInitialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、
互斥量
等等)的简单技术
小约翰耶
·
2023-10-30 08:18
算法
多线程(8)多线程同步之
互斥量
+条件变量(linux实现)
多线程(8)多线程同步之
互斥量
+条件变量(linux实现)1
互斥量
定义2
互斥量
2.1
互斥量
接口(linux)2.1.1pthread_mutex_tmutex2.1.2pthread_mutex_init2.1.3pthread_mutex_lock2.1.4pthread_mutex_unlock2.1.5pthread_mutex_trylock2.1.6pthread_mutex_destr
Hani_97
·
2023-10-30 01:18
多线程
pthread_mutex_t
多线程
pthread_cond_t
linux互斥量
linux条件变量
零基础Linux_24(多线程)线程同步+条件变量+生产者消费模型_阻塞队列版
生产者消费者模型_阻塞队列3.1前期代码(轮廓)3.2中期代码(简单使用)BlockQueue.hpp:3.3生产者消费者模型高效的体现3.4后期代码(处理任务)Task.hppProdCon.cc3.5最终代码(
RAII
GR_C
·
2023-10-30 01:45
⑥零基础Linux操作系统
linux
c++
多线程
线程同步
生产者消费者模型
【hello C++】智能指针
目录一、内存泄漏1.1什么是内存泄漏,内存泄漏的危害1.2内存泄漏分类1.3如何检测内存泄漏1.4如何避免内存泄漏二、智能指针的使用及原理2.1
RAII
2.2智能指针的原理2.3智能指针的发展历程2.4
瞳绣
·
2023-10-29 16:20
C++
c++
semaphore信号量
semaphore也就是信号量,是一种进程见同步机制,我们可以作为
互斥量
来保护临界区资源,但是作为一种同步机制,还能怎么用呢?
程序猿Ricky的日常干货
·
2023-10-29 05:34
内核锁与同步
【C++】智能指针:auto_ptr、unique_ptr、share_ptr、weak_ptr(技术介绍 + 代码实现)(待更新)
RAII
的介绍四个智能指针的特点:1.auto_ptr(C++98)核心功能的简单实现2.unique_ptr(C++11)核心功能的简单实现3.shared_ptr(C++11)核心功能的简单实现0.
TTang-sq
·
2023-10-29 05:56
C++
c++
java
jvm
线程间共享数据
本文主要介绍线程间共享数据的保护机制,主要内容是
互斥量
的介绍。
wenmingxing
·
2023-10-29 02:04
《Effective C++》知识点(3)--资源管理
rawpointer),很容易造成资源泄漏,因为:a.忘记写delete语句b.在到达delete语句前,函数已经过早returnc.在到达delete语句前,发生了抛出异常,而导致函数退出13.2把资源放进对象
RAII
myepicure888
·
2023-10-28 22:19
C++
c++
详解C++11
RAII
机制
什么是
RAII
?
RAII
是ResourceAcquisitionIsInitialization(wiki上面翻译成“资源获取就是初始化”)的简称,是C++语言的一种管理资源、避免泄漏的惯用法。
bugcoder-9905
·
2023-10-28 17:15
c++
开发语言
智能指针(C++11)
文章目录简介内存泄漏内存泄漏分类内存泄漏检测工具
RAII
智能指针原理智能指针使用std::auto_ptrstd::unique_ptrstd::shared_ptrstd::shared_ptr循环引用
拖拉机厂第一代码手
·
2023-10-28 16:26
C++
c++
开发语言
Linux系统编程_线程:线程、
互斥量
、条件变量
1.线程概述(与进程的区别及线程的优势)(437.1)Linux多线程编程初探https://www.cnblogs.com/xiehongfeng100/p/4620852.html进程与线程典型的UNIX/Linux进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。进程是程序执行时的
Cui杰西
·
2023-10-28 15:37
linux
c语言
C++之智能指针
目录一、智能指针的引入二、智能指针的原理及使用1、
RAII
思想2、智能指针的原理3、智能指针的使用三、智能指针的拷贝问题四、标准库中的智能指针1、auto_ptr2、unique_ptr3、shared_ptr
dbln
·
2023-10-28 08:15
C++
c++
算法
开发语言
很多条update语句mysql优化_sql执行万条update语句优化
Boost条件变量condition_variable_anyBoost条件变量可以用来实现线程同步,它必须与
互斥量
配合使用.使用条件变量实现生产者消费者的简单例子如下,需要注意的是
咪爷
·
2023-10-28 06:51
内存泄漏问题,4种智能指针(介绍+模拟实现)
目录内存泄漏介绍分类堆内存泄漏系统资源泄漏检测内存泄漏的方式智能指针引入介绍原理引入
RAII
原则指针性质拷贝auto_ptr介绍代码boost库unique_ptr介绍代码shared_ptr介绍删除器代码问题
沐风ya
·
2023-10-28 03:33
c++
1024程序员节
c++
死锁deadlock
死锁主要发生在有多个依赖锁存在时,会在一个线程试图以与另一个线程相反顺序锁住
互斥量
时发生.如何避免死锁是使用
互斥量
应该格外注意的东西。总体来讲,有几个不成文的基本原则:对共享资源操作前一定要获得锁。
hzami
·
2023-10-27 18:03
FreeRTOS
互斥量
优先级反转(翻转)和优先级继承 详解
目录什么是
互斥量
?什么是优先级反转(翻转)和优先级继承
互斥量
相关API函数优先级反转(翻转)示例使用
互斥量
优化优先级反转(翻转)问题示例什么是
互斥量
?
罗小白的干爹
·
2023-10-27 09:35
FreeRTOS
1024程序员节
FreeRTOS
STM32
Effective C++笔记(6)—资源管理
13.以对象管理资源本条款主要讲了
RAII
(ResourceAcquisitionIsInitialization)资源取得实际便是初始化时机。通过“管理对象”的构造和析构完成对对象的资源管理。
NearXDU
·
2023-10-26 19:41
Effective
C++
Effective
C++
资源管理
Effective C++ 3nd笔记——资源管理
EffectiveC++3nd——-资源管理以对象管理资源简单来说就是要用类来管理资源,最好使用C++11新标准提供的几种智能指针请记住:为防止资源泄漏,请使用
RAII
对象,他们在构造函数中获得资源并在析构函数中释放资源两个常被使用的
JallinRichel
·
2023-10-26 19:05
C++
c++
Effective C++ 阅读笔记 03:资源管理
在资源管理类中提供对原始资源的访问请记住我的理解条款16:数组使用*new*和*delete*要同样用数组方式释放请记住我的理解条款17:以独立语句将newed对象置入智能指针请记住我的理解条款13:以对象管理资源请记住为防止资源泄漏,请使用
RAII
ShowM3TheCode
·
2023-10-26 19:05
Effective
C++阅读之路
c++
开发语言
C++ 基础八股
C++C++的特点RAIISTL面对对象C++vsC语法扩充:namespace、引用、new/delete面向对象:封装继承多态、自定义类型、函数和运算符重载新机制:异常处理、类型检查、
RAII
、变参数模板标准库
Blood Gem
·
2023-10-26 14:30
c++
后端
C++智能指针[上]
文章目录1.代码问题与初步解决2.内存泄漏相关知识2.1什么是内存泄漏2.2内存泄漏分类2.3检测内存泄漏2.4如何避免内存泄漏3.智能指针3.1文档查阅3.2代码初识3.3
RAII
思想解读优势3.4智能指针的设计
阿猿收手吧!
·
2023-10-26 14:55
遣返回家的C家家
1024程序员节
c语言
c++
数据结构
算法
C++并发与多线程(8) |
互斥量
一、
互斥量
(mutex)的基本概念
互斥量
(Mutex)是一种用于多线程编程的同步机制,用于管理共享资源的访问,以确保线程之间不会同时访问某个共享资源,从而避免竞态条件(RaceCondition)和数据损坏
曙光_deeplove
·
2023-10-25 22:38
C++
C++
嵌入式实时操作系统的设计与开发(信号量学习)
信号量除了临界点机制、
互斥量
机制可实现临界资源的互斥访问外,信号量(Semaphore)是另一选择。信号量与
互斥量
的区别对于
互斥量
来说,主要应用于临界资源的互斥访问,并且能够有效地避免优先级反转问题。
饼干饼干圆又圆
·
2023-10-24 14:44
嵌入式实时操作系统的设计与开发
1024程序员节
嵌入式实时操作系统的设计与开发
嵌入式实时操作系统
嵌入式实时操作系统的设计与开发(
互斥量
学习)
一个无论多么小的系统,都会有大系统的缩影,就像俗话说“麻雀虽小五脏俱全”。嵌入式实时操作系统中除了基本调度机制(创建线程、调度线程、挂起线程等),事件处理机制(中断管理、时钟管理)、内存管理机制外,也有一般操作所具有的线程交互机制,如互斥机制、同步机制、通信机制等。并发线程可共享系统中的各类资源,如全局变量、表格、队列、打印机等,这些资源被称为临界资源,当诸线程在访问这些临界资源时,必须互斥访问。
饼干饼干圆又圆
·
2023-10-24 03:38
嵌入式实时操作系统的设计与开发
学习
算法
嵌入式实时操作系统的设计与开发
嵌入式实时操作系统
基于Freertos的ESP-IDF开发——3.使用任务(下)
基于Freertos的ESP-IDF开发——3.使用任务(下)前言十、软件定时器十一、二进制信号量十二、计数型信号量十三、互斥型信号量十三、递归
互斥量
小结前言开发环境:ESP-IDF4.3操作系统:Windows10
IoT_H2
·
2023-10-24 02:20
嵌入式硬件
单片机
物联网
iot
stm32
muduo源码剖析之EventLoop事件循环类
运行loop的进程被称为IO线程,EventLoop提供了一些API确保相应函数在IO线程中调用,确保没有用
互斥量
保护的变量只能在IO线程中使用,也封装了超时队列的基本操作。
@新法
·
2023-10-23 22:09
源码剖析
后端
服务器
linux
c语言
c++
muduo
源码剖析
C++ 生产者消费者模型
一、C++代码实现#include#include#include#include#includeusingnamespacestd;mutexm_mutex;//定义一个
互斥量
,即可以理解为一把锁,防止两个线程同时操作一个内存空间
钱塘帅伢子
·
2023-10-23 08:51
C/C++
c++
开发语言
C++ 使用条件变量实现生产者和消费者模式
背景在C++中使用一个可调用对象构造一个std::thread对象,即可创建一个线程;使用
互斥量
std::mutex来确保多个线程对共享数据的读写操作的同步问题;使用std::condition_variable
litanyuan
·
2023-10-23 08:49
c++
c++
开发语言
visual
studio
重学C++:笔记(二)C++基础容器&C++指针、引用
4.2数组的增删改查及二维数组4.3动态数组vector4.4字符串第5章彻底学会C++指针,引用5.1指针的概念5.2指针的基本操作5.3CPP程序的存储区域划分5.4CPP动态分配和回收原则5.5
RAII
TiercelChow
·
2023-10-23 07:07
C++
c++
指针
容器
内存结构
raii
【ONE·C++ || 智能指针 & 特殊类的设计】
(内存泄漏)1.1、什么是内存泄漏1.2、内存泄漏的分类和常见解决方式2、智能指针的使用及原理2.1、
RAII
:ResourceAcquisitionIsInitialization(资源获取即初始化)
藏鹤虞渊
·
2023-10-23 07:28
#
【ONE·C++】
c++
C++
RAII
机制和智能指针
RAII
它是一套编译器对象回收机制,要求代码必须以class的形式组织,这套机制会利用class的constructor和destructor来释放对象/资源/内存.备注:这套机制跟try...catch
极光火狐狸CPP
·
2023-10-23 01:50
c++ std::lock与std::scoped_lock底层实现原理源码剖析
std::lock用于同时获取多把锁(两把及两把以上)std::scoped_lock定义于c++17标准,是std::lock的
RAII
封装类以下代码纯来自msvc实现std::scoped_lock
@新法
·
2023-10-22 21:47
c++并发编程
c++
开发语言
RTOS信号量的学习
RTOS信号量FreeRTOS的信号量属于特殊消息队列(信号量创建和消息队列创建的原型都是xQueueGenericCreate),包括二进制信号量、计数信号量、互斥信号量(简称
互斥量
)和递归互斥信号量
火山中心
·
2023-10-21 18:52
RTOS
学习
RTOS共享资源保护-递归互斥信号量实现共享资源的保护
递归互斥信号量实现共享资源的保护概述在优先级反转与解决策略章节中讲述了优先级反转的问题,在
互斥量
实现共享资源的保护中讲述了互斥信号量可以改善优先级反转问题。
物联网老王
·
2023-10-21 18:49
双核
RTOS
进阶篇
freertos
c语言
iot
单片机
RT-Thread
互斥量
目录
互斥量
的基本概念
互斥量
的优先级继承机制
互斥量
的运作机制
互斥量
相关接口
互斥量
控制块创建
互斥量
初始化
互斥量
脱离
互斥量
获取
互斥量
释放
互斥量
使用场合
互斥量
实验(优先级继承)举个例子:怎么独享厕所?
~Old
·
2023-10-21 18:47
RT-Thread
嵌入式
RTOS
RT-Thread
互斥量
通信
递归
互斥量
解决死锁问题
一、递归
互斥量
一般情况下,我们在同一个线程中对同一个
互斥量
加两次锁,就会死锁(自我死锁)。如果将
互斥量
类型属性设置为递归类型PTHREAD_MUTEX_RECURSIVE就不会出现此问题。
奔跑的小赛兔
·
2023-10-21 18:45
FreeRTOS
rtos
基于STM32结合CubeMX学习Free-RT-OS的源码之信号量与
互斥量
目录CUBEMX上的配置以及使用信号量
互斥量
CUBEMX上的配置以及使用信号量与
互斥量
都是从队列中衍生出来的,他们是一种特殊的队列。不同的地方在于:他们不含有队列的数据部分,只有队列结构体。
昊月光华
·
2023-10-21 18:43
STM32
stm32
FREE-RTOS
二进制信号量和
互斥量
之间的区别
二进制信号量和
互斥量
之间是否有任何区别,或者它们基本相同?
asdfgh0077
·
2023-10-21 18:43
mutex
semaphore
glossary
【RTOS学习】信号量 |
互斥量
| 递归锁
信号量|
互斥量
|递归锁信号量原理使用信号量的函数基本使用
互斥量
原理使用
互斥量
的函数
互斥量
的基本使用优先级反转优先级继承递归锁大概原理使用递归锁的函数使用总结信号量信号量也是FreeRTOS实现同步与互斥的方式
一只大喵咪1201
·
2023-10-21 18:42
RTOS学习
学习
stm32
智能家居
c语言
Qt线程
互斥量
读写锁 条件等待 信号量
Qt线程1、Qt线程介绍Qt程序默认只有一个线程,而该线程要时刻响应界面,所以Qt中设计了信号和槽机制,当执行一个操作时,界面会发出信号,然后槽函数响应并执行,然后再返回界面,当执行一个耗时较长的操作时,界面会卡住。所有当需要执行耗时较操作时,更适合让新的线程去完成。2、QThread类Qt中提供了一个线程类,所以在Qt中使用线程非常方便。该类无法指定入口函数,需要继承该类,然后覆盖run函数,作
xiaoqiudao
·
2023-10-21 14:48
Qt界面编程学习笔记
qt线程启动后等待返回_QT多线程同步之QWaitcondition
一、QWaitcondition,是通过一个线程达到某种条件来唤起另一个线程来实现同步的mutex.lock();waitcondition.wait(&mutex);需要用到一个
互斥量
作为参数,而这个
互斥量
的状态必须是
一条胖咸鱼
·
2023-10-21 14:17
qt线程启动后等待返回
C++智能指针
智能指针存储指向动态对象的指针,用于动态对象生存周期的控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露
RAII
(Res
魏尔肖
·
2023-10-20 12:25
C/C++
知识点
智能指针
c++
【C++11】智能指针的使用以及模拟实现(shared_ptr,unique_ptr,auto_ptr,weak_ptr)
文章目录一、
RAII
概念一、auto_ptr1.基本使用2.模拟实现二、unique_ptr1.基本使用2.模拟实现三、shared_ptr1.基本使用2.引用计数实现3.析构函数的升级(对于数组)4.
Satoru_Kaugo
·
2023-10-20 00:08
c++
java
算法
FreeRTOS笔记—第四章 同步互斥与通信
各类RTOS都会涉及这些概念:任务通知(tasknotification)、队列(queue)、事件组(eventgroup)、信号量(semaphoe)、
互斥量
(mutex)等。
匠在江湖
·
2023-10-19 19:08
FreeRTOS学习笔记
RTOS
RTOS(7)同步互斥与通信概述
浪费资源;互斥的例子单纯的使用全局变量来实现互斥不太靠谱,当执行时间过长的时候会概率性的出现错误通信的例子FreeRtos的解决方案正确性效率:等待进入阻塞状态多种解决方案队列,事件组,信号量,任务通知,
互斥量
后面将会讲同步互斥和通信是怎么通过这几种东西一步一步实现的
XWF小弟
·
2023-10-19 19:37
c++
FreeRTOS同步与互斥:(三)
互斥量
注:本文摘自韦东山《FreeRTOS完全开发手册》,如有侵权请告知文章目录三、
互斥量
3.1
互斥量
与信号量3.2
互斥量
函数3.2.1创建
互斥量
3.2.2删除
互斥量
3.2.3give/take3.3递归锁3.3.1
Pluto__xu
·
2023-10-19 18:49
FreeRTOS
stm32
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他