共享变量和局部变量C++

Shared and local variables C++

本文关键字:C++ 局部变量 共享变量      更新时间:2023-10-16

我需要在我正在开发的文件系统中实现阅读器编写器问题的解决方案。我在互联网上搜索并找到了这个维基百科解决方案。由于我被告知不存在饥饿,我选择了第三种解决方案。现在,我是多线程编程的新手,我有一个问题。如何分隔共享变量和局部变量?我想在每个文件对象中实例化一个 ReadersWriters 类来管理对该文件的访问,因此每个线程都需要有自己的上一个和当前局部变量,并且它们都需要共享 nreader 变量。我想把它们放在读者作家班上。

据我所知,父线程只有两种方法可以与子线程共享数据。

  1. 全局变量
  2. 在创建子线程期间通过指针传递它。

显然,新指针可以附加到任何现有对象上。

局部

变量保持线程局部,除非您采取措施防止它们成为局部变量。请记住,每个线程都有自己的堆栈。