- 博客(8)
- 收藏
- 关注
原创 中断学习笔记
中断是一个异步事件,通常由IO设备触发。键盘,鼠标等。通过给CPU的 INTR 引脚发送信号,CPU从中断控制器的一个端口读取中断号。
2023-12-14 16:20:44
370
1
原创 delete、default关键字
注:在成员变量涉及和时,copy assignment操作符编译器可能会拒绝编译生成。结果:添加 ‘&’ 或 ’const’后:解决:自己编写复制操作符。
2023-12-12 20:29:36
407
原创 右值引用学习笔记
引用:引用是C++中的一种重要特性,它为变量提供了别名。这意味着,通过引用,我们可以使用另一个变量的名称来访问其值。在具体操作过程中,对引用的操作与对原变量的操作完全相同,改变引用的值也会导致原变量的值发生改变。左值与右值:左值(Lvalue):指的是可以出现在赋值语句左边的表达式,它代表一个内存位置,可以用来存储数据。例如,变量名、数组元素、结构体成员等都是左值。右值(Rvalue):指的是可以出现在赋值语句右边的表达式,它代表一个数据值,但不能直接存储在内存中。例如,字面量、等都是右值。
2023-12-11 16:05:23
973
1
原创 第三章 在线程间共享数据
递归加锁(std::recursive_mutex)允许同一线程对某互斥的同一实例多次加锁。问题:如果成员函数返回指针或引用指向受保护的共享数据,只要存在任何能访问该指针和引用的代码,它就可以访问受保护的共享数据,而无需锁定互斥。C++11解决了该问题,规定初始化只会在某一线程上单独发生,在初始化完成之前,其他线程不会越过静态数据的声明而继续运行。解决:传入引用,借一个外部变量接受栈容器弹出的元素,将指涉它的引用通过参数传入pop()调用。注:不得向锁所在的作用域之外传递指针和引用,指向受保护的共享数据。
2023-11-14 19:59:03
19
原创 第二章 线程管控
发起线程若程序不等待线程结束,在线程运行结束前,需保证它所访问的外部数据始终正确,有效。等待线程完成(join())在出现异常情况下等待在后台运行线程(detach())
2023-11-13 13:25:46
20
原创 第一章 你好,C++并发世界
相关概念:任务切换。并发的方式:多进程并发多线程并发 从通信,消耗资源,安全性等角度区分。并发与并行:并发:分离关注点,响应能力。并行:性能。 二者并非泾渭分明。
2023-11-07 00:19:35
26
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人