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互斥量
linux c编程——条件变量
每个条件变量总是和一个
互斥量
相关联,条件本身是由
互斥量
保护的,线程在改变条件状态之间必须要锁住
互斥量
。条件变量相对于
互斥量
最大的优点在于允许线程以无竞争的方式等待
怪我冷i
·
2023-10-02 13:58
linux
多线程
并发编程
操作系统
【C++】智能指针
二、智能指针的使用及原理1、
RAII
2、智能指针的原理3、std::auto_ptr4、std::unique_ptr二、真正的智能指针std::shared_ptr1、std::shared_ptr的线程安全问题
看到我请叫我滚去学习Orz
·
2023-10-02 10:10
C++
c++
算法
开发语言
【Linux】详解线程第三篇——线程同步和生产消费者模型
线程同步和生消模型前言正式开始再次用黄牛抢票来讲解线程同步的思想通过条件变量来实现线程同步条件变量接口介绍初始化和销毁pthread_cond_waitsignal和broadcast生产消费者模型三种关系用基本工程师思维再次理解基于生产消费者模型的阻塞队列版本一版本二多生多消利用
RAII
先搞面包再谈爱
·
2023-10-02 03:38
Linux
linux
c++
服务器
线程
centos
freertos 创建
互斥量
_FreeRTOS 从入门到精通10--资源管理(互斥锁与信号量)
在上一讲中奔腾的心:FreeRTOS从入门到精通9--中断管理zhuanlan.zhihu.com我们探讨了中断管理在FreeRTOS中的概念和应用,在本讲中我们将讨论FreeRTOS一个十分重要的话题--资源管理(ResourceManagement),并借此介绍一个值得嵌入式开发者重视的现象--优先级倒置(Priorityinversion)。本个系列教程也将完结于此,很高兴读者能一路支持过来
weixin_39990250
·
2023-10-01 08:26
freertos
创建互斥量
FreeRTOS资源管理(
互斥量
与信号量)
FreeRTOS资源管理(
互斥量
与信号量)注意:互斥信号量的释放只能在任务中运行,不允许在中断中释放
互斥量
FreeRTOS互斥信号量与二值信号量使用时的区别什么是资源管理数据的同步与信号量信号量的示例信号量的常用函数在中断函数中应该使用如下版本
宁静致远2021
·
2023-10-01 08:55
FreeRTOS
单片机
stm32
嵌入式硬件
Rust智能指针简介
这里智能指针和引用相比较更多的保证了数据安全性,而不是像C++一样仅仅是实现堆上数据的
RAII
这么简单。常在以下场景使用智能指针:当有一
闲鱼翻不了身
·
2023-09-30 05:47
Rust学习
rust
开发语言
后端
【C++11】多线程
多线程创建线程thread提供的成员函数获取线程id的方式线程函数参数的问题线程join场景和detach
互斥量
库(mutex)mutexrecursive_mutexlock_guard和unique_lock
Fre丸子_
·
2023-09-30 03:34
c++
开发语言
c++并发编程实战 第三章
·使用
互斥量
保护共享数据:任何一个线程在执行这些代码时,其他任何线程试图访问共享数据结构,就必须等到那一段代码执行结束。于是,一个线程就不可能会看到被破坏的不变量,除非它本身就是修改共享数据的线程。
nullganbadie
·
2023-09-29 00:25
并发编程学习
FreeRTOS学习笔记(1、FreeRTOS初识、任务的创建以及任务状态理论、调度算法等)
也有了一个深刻的理解,并且在学习完课程后,成功把FreeRTOS移植到Stm32F103C8T6上,期间还是踩了很多坑的FreeRTOS主要包括任务的创建,全部都在围绕同步和互斥通信,主要包括队列、信号量、
互斥量
藕粉-
·
2023-09-28 11:46
FreeRTOS
学习
笔记
算法
FreeRTOS
FreeRTOS入门(06):任务通知
本文代码测试环境见前面的文章:《FreeRTOS入门(01):基础说明与使用演示》基础说明前面介绍的队列、信号量、
互斥量
、队列集、事件组等功能都需要有个独立于任务的对象,任务通过主动去访问对象来使
Naisu Xu
·
2023-09-28 11:45
RTOS与单片机相关
开发语言
单片机
沁恒
操作系统
ch32v307
FreeRTOS入门(04):中断、内存、追踪与调试
断言调试总结目的有了前面的几篇文章FreeRTOS基本上已经可以在项目中使用上了:《FreeRTOS入门(01):基础说明与使用演示》《FreeRTOS入门(02):任务基础使用与说明》《FreeRTOS入门(03):队列、信号量、
互斥量
Naisu Xu
·
2023-09-28 11:14
RTOS与单片机相关
单片机
stm32
嵌入式硬件
操作系统
内存
【C++11】三大神器之——智能指针
文章目录前言一、智能指针的原理1、
RAII
机制2、简单的实现二、智能指针的用法1、智能指针的分类2、unique_ptr基本语法3、shared_ptr基本语法4、删除器5、weak_ptr前言一、智能指针的原理
小白还在写代码
·
2023-09-28 02:31
C/C++
C++11
c++
开发语言
【Linux】线程安全
线程互斥互斥相关背景概念
互斥量
mutex
互斥量
接口初始化
互斥量
函数销毁
互斥量
互斥量
加锁
互斥量
解锁代码模拟
互斥量
实现的逻辑常见锁的概念死锁什么叫做阻塞?
Fre丸子_
·
2023-09-27 22:43
Linux
linux
运维
服务器
[C++ 网络协议] Windows中的线程同步
目录1.用户模式(Usermode)和内核模式(Kernalmode)2.用户模式的同步(CRITICAL_SECTION)3.内核模式同步3.1
互斥量
3.2信号量3.3事件对象4.实现Windows平台的多线程服务器端
想开发游戏的Wang
·
2023-09-26 11:00
c++
开发语言
汽车嵌入式软件面试问题整理
3.
互斥量
与信号量有什么区别?
互斥量
只能被申请一次,也就是只能有一个任务申请,但信号量可以定义一个初始值,比如定义为2,那么就允许有2
olddddd
·
2023-09-26 08:06
嵌入式
单片机
c语言
Linux 线程同步(重要)
互斥量
/*三个窗口卖一百张票*/#include#include#include#includeinttickets=0;void*sellticket(void*arg){//卖票usleep(7000);while(tickets#include#include#includeinttickets=0;pthread_mutex_tmutex;void*sellticket(void*arg){//
狗狗狗乖乖
·
2023-09-26 01:27
Linux线程管理
Linux编程入门
linux
算法
运维
[C++ 网络协议] 多线程服务器端
✔目录1.线程的概念1.1为什么要引入线程1.2线程和进程的差异2.线程函数2.1线程的创建2.1分离线程3.线程存在的问题和临界区4.线程安全5.线程同步5.1
互斥量
(MutualExclusion)
想开发游戏的Wang
·
2023-09-25 15:23
网络协议
网络协议
c++
[C++ 网络协议] Windows平台下的线程
内核对象的概念:如线程、进程、文件、信号量、
互斥量
等等,这些都是由操作系统所创建的资源,也统一由操作系统来管理,操作系统为了方便管理它们,就会在创建它们的同时,生成数据块(也可视为结构体变量
想开发游戏的Wang
·
2023-09-25 15:52
网络协议
c++
开发语言
C++11 -- 线程库
目录前言线程库(thread)构造方式无参构造移动赋值与移动构造带参的构造函数线程函数参数问题
互斥量
库(mutex)std::mutexstd::recursive_mutexstd::timed_mutexstd
为成功先生
·
2023-09-24 16:12
C++
c++
开发语言
C++(98/11)问题 (2)
线程可以独立运行,但是同时又和同进程的其他线程共享资源,这就造成在需要获取共同资源的时候需要竞争对于资源的使用,所有的关于线程的使用都是在设计如何竞争环境下使用共同的资源,以及更高效的问题线程之间共享数据
互斥量
一叶也知秋
·
2023-09-24 05:04
C++11新特性之智能指针|内存泄漏
文章目录一、智能指针二、内存泄漏1.什么是内存泄漏,内存泄漏的危害2.内存泄漏的分类3.避免内存泄漏的方案三、智能指针的使用及原理1.
RAII
2.智能指针的原理3.std::auto_ptr4.std:
yoouuung_
·
2023-09-23 19:31
C++
c++
开发语言
算法
centos
tinyWebServer 学习笔记——五、数据库连接池
文章目录一、基础知识二、代码解析1.单例模式创建2.连接池初始化3.获取和释放连接4.销毁线程池5.
RAII
机制释放数据库连接参考文献一、基础知识数据库连接池:池是一组资源的集合,这组资源在服务器启动之初就被创建并初始化
BeZer0
·
2023-09-22 20:57
计算机网络
数据库
学习
笔记
掷骰子的多线程应用程序2基于
互斥量
的线程同步(复现《Qt C++6.0》)
说明:在复现过程中出现两点问题(1)run()函数中对m_diceValued的赋值(2)do_timeOut()函数中没有对m_seq、m_diceValued进行定义。修改后的复现程序如下所示:主线程:.h#pragmaonce#include#include"ui_ThreadTest_one.h"#include"QtClass.h"classThreadTest_one:publicQM
一北_
·
2023-09-22 15:01
Qt
qt
c++
开发语言
Linux系统编程——线程的学习
文件编程的学习Linux系统编程——进程的学习Linux系统编程——进程间通信的学习Linux系统编程——网络编程的学习Linux系统编程——线程的学习一、概述1.进程与线程的区别2.使用线程的理由3.
互斥量
智能轰炸机
·
2023-09-22 11:41
linux
学习
【Linux】系统编程线程互斥与同步(C++)
目录【1】线程互斥【1.1】进程线程间的互斥相关背景概念【1.2】
互斥量
mutex【1.3】
互斥量
实现原理探究【1.4】
RAII
的加锁风格【2】可重入VS线程安全【2.1】概念【2.2】常见的线程不安全的情况
傻响
·
2023-09-22 06:51
Linux
java
《More Effective C++》总结笔记(二)——异常
简单来说就是,当有资源可能在函数抛异常时而无法释放,这时可以将资源封装到对象内(
RAII
),利用对象的析构函数来自动释放资源,这样即使有exceptions发生,也不会有资源泄露。
拉普拉斯妖1228
·
2023-09-20 03:18
C++技术
Effective
C++
读书笔记
c++
面试
指针
Freertos学习笔记
文章目录Freertos移植TCB控制块中断管理(内部异常和外部中断)同步互斥与通信消息队列:邮箱:信号量:
互斥量
:事件组:任务通知:Freertos移植其核心文件为,tasks.c、timers.c、
栋哥爱做饭
·
2023-09-19 17:31
学习
笔记
五、数据库连接池解析与编写 —— TinyWebServer
什么是
RAII
?二、问题回答Ⅰ、数据库连接池是什么?作用是什么?是什么:池是一组资源的集合,这组资源在服务器启动之初就被完全创建好并初始化。通俗来说,池是资源的容器,本质上是对资
繁星十年
·
2023-09-19 14:55
数据库
linux
服务器
ubuntu
经验分享
c++
后端
【C++】C++多线程库的使用
C++线程库的使用一、线程库(thread)1、线程的id类2、线程对象的构造3、thread提供的其他成员函数4、this_thread命名空间5、线程函数的参数问题二、
互斥量
库(mutex)1、mutex
看到我请叫我滚去学习Orz
·
2023-09-19 14:02
C++
c++
c语言
智能指针介绍(C++)
前言关于智能指针大家或多或少都有听说过,因为在C++中没有GC,所以存在很多内存泄露的风险,所以基于
RAII
思想设计出了,智能指针,智能指针经过了很多个版本的迭代,从刚开始在C++98中推出了auto_ptr
小羊byte
·
2023-09-19 06:14
c++
开发语言
【1++的C++进阶】之智能指针
作者主页:进击的1++专栏链接:【1++的C++进阶】文章目录一,什么是智能指针二,为什么需要智能指针三,智能指针的发展一,什么是智能指针要了解智能指针,我们先要了解
RAII
.
RAII
是一种利用对象生命周期来控制资源的技术
进击的1++
·
2023-09-19 04:36
1++的C++进阶
c++
RAII
智能指针
【Linux】多线程 --- 线程同步与互斥+生产消费模型
(硬件层面和软件层面的加锁)3.3
RAII
风格的封装设计锁?(构造函数加锁,析构函数解锁)
rygttm
·
2023-09-19 03:54
Linux
linux
运维
c++
jvm
智能指针
1、
RAII
利用对象生命周期来控制程序资源。在对象构造时获取资源,在对象析构时释放资源。2、智能指针的原理
RAII
特性、像指针一样去使用。
·
2023-09-18 16:16
指针c++11
多线程数据共享
生产者/消费者一、
互斥量
(mutex)可以理解成一个锁,只有锁成功才会继续向下执行,否则阻塞线程。使用原则:只保护需要保护的信息。
是你亮哥哥呀
·
2023-09-18 02:55
C++编程的六个关键技巧,助你成为高效开发者
其次,掌握
RAII
(资源获取即初始化)原则,它是C++中管理资源的一种重要方式。此外,对于对象生命周期、内存管理以及异常处理等概念的理解也是必不可少的。
YT8984
·
2023-09-17 09:42
c++
开发语言
linux-读写锁(rwlock)
概述读写锁与
互斥量
类似,不过读写锁允许更改的并行性,也叫共享互斥锁。
互斥量
要么是锁住状态,要么就是不加锁状态,而且一次只有一个线程可以对其加锁。
九月丫
·
2023-09-16 12:01
linux进程和线程专题
开发语言
linux
c++
STL标准库之智能指针
文章目录
RAII
机制unique_ptr注意事项基本用法使用场景shared_ptr注意事项基本用法使用场景weak_ptr注意事项基本用法使用场景
RAII
机制
RAII
即ResourceAcquisitionIsInitialization
Siveens
·
2023-09-16 06:15
STL标准模板库
c++
jvm
开发语言
【C++】智能指针
文章目录1.
RAII
2.智能指针auto_ptrunique_ptrshared_ptr3.智能指针历史1.
RAII
智能指针是用以资源管理的一种工具。所谓资源就是,一旦用了它,将来就必须还给系统。
超人不会飞)
·
2023-09-16 06:39
C++的修行之路
c++
开发语言
线程池的实现
目录一、线程池的实现1.什么是线程池2.设计线程类3.设计线程池类4.运行5.
RAII
加锁改造二、利用单例模式改造线程池1.复习2.饿汉模式3.懒汉模式关于系统编程的知识我们已经学完了,最后我们需要利用之前写过的代码实现一个线程池
聪明的骑士
·
2023-09-16 01:37
Linux
开发语言
c++
算法
linux
数据结构
LockSupport(park/unpark)
Unsafe.park和Unsafe.unpark的底层实现原理在Linux系统下,是用的Posix线程库pthread中的mutex(
互斥量
),condition(条件变量)来实现的。
hehehehe
·
2023-09-15 22:30
多线程JUC 第2季 synchronized锁升级过程
1.2synchronized锁性能低效原因在java中早期版本中,synchronized属于重量级锁,效率低下,因为监视器monitor是依赖于底层操作系统的MutexLock(系统
互斥量
)
健康平安的活着
·
2023-09-15 10:17
高并发多线程
java
开发语言
5、ReentrantLock
但是他们的实现原理有很大差别,是基于操作系统
互斥量
实现的,依赖于JVM的实现,而ReentrantLock是AQS的经典实现,是java代码层面的实现的。随着jvm的升级,对锁的优化越来越好。
神秘空指针
·
2023-09-14 22:07
C++多线程
:该头文件主要声明了与
互斥量
(mutex)相关的类,包括std:
钟离默
·
2023-09-14 19:19
C++
多线程
c++
Linux线程互斥与同步
目录进程线程间的互斥相关背景概念互斥和原子性
互斥量
mutex
互斥量
实现原理探究锁是否需要被保护?如何保证申请锁的过程是原子的?
太早162
·
2023-09-14 18:55
java
jvm
开发语言
C++线程安全环形队列
C++线程安全环形队列#ifndefCIRCULAR_QUEUE_H#defineCIRCULAR_QUEUE_H#include//
互斥量
#include//条件变量templateclassCircularQueue
付宇利
·
2023-09-14 13:34
c++
数据结构
开发语言
【Linux】多线程互斥与同步
文章目录一、线程互斥1.线程互斥的引出2.
互斥量
3.互斥锁的实现原理二、可重入和线程安全三、线程和互斥锁的封装1.线程封装1.互斥锁封装四、死锁1.死锁的概念2.死锁的四个必要条件3.避免死锁五、线程同步
星河万里᭄ꦿ࿐
·
2023-09-14 00:43
Linux
linux
运维
服务器
三、lock类的编写与解析 —— TinyWebServer
社长的“庖丁解牛”中的
RAII
到底是什么?体现在代码中的作用是什么?
繁星十年
·
2023-09-13 13:35
linux
ubuntu
经验分享
c++
Linux多线程
全文目录线程概念线程缺点线程的如何看待进程内部的资源进程vs线程线程控制pthread库pthread_t线程创建线程等待线程分离线程退出总结线程互斥
互斥量
接口
互斥量
实现原理总结线程安全与可重入常见的线程安全的情况常见的不可重入情况常见的可重入情况可重入与线程安全联系可重入与线程安全区别死锁死锁四个必要条件避免死锁线程同步条件变量初始化与销毁等待与唤醒生产者消费者模型线程概念在一个程序里的一个执行
_featherbrain
·
2023-09-12 16:33
Linux
linux
运维
服务器
GO语言网络编程(并发编程)Channel
为了保证数据交换的正确性,必须使用
互斥量
对内存进行加锁,这种做法势必造成性能问题。Go语言的并发模型是CSP(CommunicatingS
lucky九年
·
2023-09-12 14:58
GO
网络
golang
服务器
Vulkan 创建 PhysicalDevice 和 Surface 的包装思路
VulkanSample的话,创建PhysicalDevice和Surface的包装思路是voidVulkanRenderer::SelectPhysicalDeviceAndSurface(){vk::
raii
hijackedbycsdn
·
2023-09-09 06:56
GameEngineDev
c++
vulkan
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他