2014-01-10 3 views
0

Мне нужно реализовать решение проблемы чтения читателей в файловой системе, которую я разрабатываю. Я искал в Интернете и узнал об этом Wikipedia solution. Поскольку мне говорят, что не существует голода, я выбрал третье решение. Теперь я новичок в многопоточном программировании, и у меня есть один вопрос. Как разделять общие и локальные переменные? Я хотел создать экземпляр одного класса ReadersWriters в каждом объекте, который будет управлять доступом к этому файлу, поэтому каждый поток должен иметь собственные превью и текущие локальные переменные, и все они должны использовать переменную nreaders. Я хочу поместить их в класс ReadersWriters.Общие и локальные переменные C++

+0

Что значит выделить их? У вас есть пример кода того, что вы пытаетесь сделать? – Collin

ответ

0

Насколько я знаю, родительский поток имеет только два способа обмена данными с дочерним потоком.

  1. Глобальные переменные
  2. Попутный его через указатель при создании дочернего потока.

Очевидно, что новые указатели могут быть прикреплены к любым существующим объектам.

Локальные переменные, остающиеся нитями локальными, если вы не сделаете что-то, чтобы предотвратить их. Помните, что каждый поток будет иметь свой собственный стек.

Смежные вопросы