Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
satisfactor
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 51
#1

Стоит ли использовать std::atomic? - C++

17.07.2014, 14:58. Просмотров 781. Ответов 4
Метки нет (Все метки)

Доброго времени суток.
Есть переменная в "поток 2" (назовем так)
C++
1
    const volatile bool *pbCancelled;
,
являющаяся указателем на флаг
C++
1
volatile bool iCancel;
в "поток 1".

Поток 2 запускается после потока 1 и перед использованием указателя выполняется функция
C++
1
2
3
4
void gDrawing_c::bindCancelFlag( const volatile bool *ptrbCancelled )
{
    pbCancelled = ptrbCancelled;
}
Дальше указатель используется только для чтения. Есть ли смысл использовать std::atomic_bool в данном случае?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2014, 14:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Стоит ли использовать std::atomic? (C++):

Std::atomic vs std::mutex - C++
class AtomicSome { private: std::atomic_bool _isReady; //not std::atomic_flag public: ...

Std::atomic и другие объекты - C++
Добрый день! Подскажите пожалуйста можно ли создать std::atomic<std::vector<int> > myvector; Или же для таких объектов...

Пример о необходимости std::atomic - C++
Изучаю std::atomic. Пытаюсь сделать пример, при котором приложение упадет, без использование std::atomic int i; void foo(){ ...

Std::atomic выбор конструктора - C++
недавно коллега вкомитил строчку вроде этой std::atomic<int> at = 3; вкоммитил с чистой душой, потому как его пятнадцатая студия...

Std::atomic. Реализация свободного от блокировок стека - C++
Всем привет. Читаю книгу Параллельное программирование на с++ в действии Энтони Уильямса, в ней он представляет реализацию свободного стека...

Стоит ли использовать "Вихрь Мерсенна" (std::mt19937)? - C++
Чем он отличается от "обычного" stdlib'ного ГПСЧ? Генерирует ли он более... качественные ПСЧ? И зачем он вообще нужен?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
17.07.2014, 15:02 #2
а iCancel в потоке 1 еще как-то используется? Если нет, то не стоит.
satisfactor
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 51
17.07.2014, 15:14  [ТС] #3
Цитата Сообщение от Kastaneda Посмотреть сообщение
а iCancel в потоке 1 еще как-то используется? Если нет, то не стоит.
в любой момент ее значение может измениться, если пользователь нажмет соответствующую кнопку...
vxg
Модератор
3156 / 1958 / 218
Регистрация: 13.01.2012
Сообщений: 7,488
17.07.2014, 15:37 #4
может все же лучше критическая секция?
Убежденный
Системный программист
Эксперт С++
15511 / 7009 / 1108
Регистрация: 02.05.2013
Сообщений: 11,441
Завершенные тесты: 1
17.07.2014, 19:19 #5
Цитата Сообщение от satisfactor Посмотреть сообщение
Дальше указатель используется только для чтения. Есть ли смысл использовать std::atomic_bool в данном случае?
Зависит от платформы и компилятора.
На Visual C++ в данном случае std::atomic не обязателен.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2014, 19:19
Привет! Вот еще темы с ответами:

Стоит ли использовать "using namespace std"? - C++
В разных источниках все по-разному относятся к этой строчке. Почему ее стоит или не стоит использовать? Чем лучше std::cout. Что...

Стоит ли очищать в деструкторе std::map , std::vecotor? - C++
У меня ещё один нубский вопрос :) Вот если в классе объявлены мапы и вектора, которые по ходу программы как то заполняются, нужно ли мне...

что использовать std::cout или просто using namespace std? - C++
Приветствую! Сейчас учу С++, постигаю азы так сказать. В арсенале две книги - Джефф Кент, "Основы программирования " и Х.М....

Как можно еще использовать std::placeholders вне в связки с std::bind? - C++
Добрый день! Как можно еще использовать std::placeholders вне в связки с std::bind?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.07.2014, 19:19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru