共享变量和局部变量C++
Shared and local variables C++
我需要在我正在开发的文件系统中实现阅读器编写器问题的解决方案。我在互联网上搜索并找到了这个维基百科解决方案。由于我被告知不存在饥饿,我选择了第三种解决方案。现在,我是多线程编程的新手,我有一个问题。如何分隔共享变量和局部变量?我想在每个文件对象中实例化一个 ReadersWriters 类来管理对该文件的访问,因此每个线程都需要有自己的上一个和当前局部变量,并且它们都需要共享 nreader 变量。我想把它们放在读者作家班上。
据我所知,父线程只有两种方法可以与子线程共享数据。
- 全局变量
- 在创建子线程期间通过指针传递它。
显然,新指针可以附加到任何现有对象上。
局部变量保持线程局部,除非您采取措施防止它们成为局部变量。请记住,每个线程都有自己的堆栈。
相关文章:
- 使用的未初始化局部变量'Quick'
- 修复未初始化的局部变量错误
- 局部变量保留函数中的值
- 如何使用 C++ 中的继承函数访问派生类中的局部变量
- 将引用分配给局部变量,如果局部变量超出范围,它会超出范围吗?
- Gnuplot_i.hpp C++接口绘制局部变量而不是文件
- 如何在函数外部访问函数中局部变量的值?
- 赋予全局变量而不是局部变量优先级的函数 - (异常行为)
- C++中静态方法的局部变量范围
- 未初始化的局部变量错误甚至认为我初始化了它(C++)
- 离开范围后如何保护局部变量的值?
- 局部变量名称冲突
- C++ lambda:如何'freeze'局部变量的值?
- 我应该使我的局部变量常量还是可移动的
- 获取具有静态局部变量的绑定/推断捕获 lambda 的函数指针
- 全局和局部变量初始化与 constexpr 的差异背后的基本原理
- 返回对局部变量 - C++ 的引用
- 是否可以影响 C++ 中回调函数的局部变量?
- 警告 C4101 未引用的局部变量
- 线程局部变量的初始化顺序