Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Не понятная проблема, адрес переменной класса у 2


Автор: Soeth 5.11.2013, 18:40
Добрый вечер, столкнулся с непонятной проблемой, хотелось бы попросить помощи у знающих людей. )

Есть класс:

Код

class someClass {
  public:
    void function1() { std::cout << &var << std::endl; };

  private:
    int var;
};

Есть 2 потока, каждый создает свой объект типа someClass, а проблема заключается в том, что при вызове метода function1 что первый, что второй поток выдают один и тот же адрес переменной. Собственно в этом и проблема, 2 потока работают с одной переменной и одновременно меняют в ней данные.
Проблему можно решить синхронизацией потоков, к примеру мьютексами, но хотелось бы узнать у гуру, есть ли какая либо возможность 2 потокам одновременно работать с 2 объектами класса не блокируя первый пока работает второй ибо это не вариант если будет не 2, а 10 потоков работающих с этим объектом.
Спасибо за внимание.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)