Russian Qt Forum
Ноябрь 05, 2024, 21:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Можно ли полагаться на атомарность присваивания/чтения int?  (Прочитано 8942 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #15 : Апрель 02, 2012, 10:39 »

Код:
        // что должно побудить компилятор на каждой итерации сохранять progress в памяти? 
Хотя бы то что переменная внешняя. И если someOperation приличная ф-ция то не будет он тратить драгоценный регистр на несчастный progress.

Все-таки как охотно мы обсуждаем легкие вопросы Улыбающийся Предлагаю чуть усложниться, а то так неинтересно. Пусть у нас контейнер вместо переменной,
Код
C++ (Qt)
std::vector vec;
 
// 1-я нитка
if (!vec.size()) ...
 
// 2-я нитка
vec.push_back(..)
 
Здесь уже атомарно не выкрутиться, надо защищаться. Но мутекс неприемлемо дорог по сравнению с push_back (которое в большинстве случаев память не перераспределяет), а о size() неудобно и говорить.
Что бум делать?
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.066 секунд. Запросов: 22.