Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> использование bool в многопоточном приложении 
V
    Опции темы
Lazin
Дата 11.6.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



на платформе х86 будет либо 10 либо 01, на остальных скорее всего то-же smile 
PM MAIL Skype GTalk   Вверх
georain
Дата 11.6.2008, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 28.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Цитата(Lazin @  11.6.2008,  09:32 Найти цитируемый пост)
проще все-же разрабатывать систему блокировок на уровне классов

Да, конечно. Но блокировка дело не дешёвое и делать её для чтения bool как в примере по моему неразумно. Вот и хочется понять в каких случаях без неё можно обойтись.
Например то что тут
Код

class Primary {
public:
   Primary():stat(false) {}
   bool GetStat() const { return stat; }
   void SetStat(bool st) { stat = st; }
private:
   bool stat;
};

можно вообще не блокировать мои коллеги сомневаются и ставят mutex. smile
Может какая литература есть?

Это сообщение отредактировал(а) georain - 11.6.2008, 10:08
PM MAIL   Вверх
vinter
Дата 11.6.2008, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



я бы ставил блокировку в месте использования данного класса, а уж никак ни в его методах


--------------------
Мой блог
PM MAIL WWW   Вверх
Lazin
Дата 11.6.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



в этом примере ничего блокировать не надо
PM MAIL Skype GTalk   Вверх
andrew_121
Дата 11.6.2008, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Вот, и меня просветили. Я бы поставил.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
georain
Дата 11.6.2008, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 28.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



vinter, это ухудшает инкапсуляцию, есть паттерн типа "защищённый класс", все открытые методы начинаются с блокировки. Тогда не надо заботится о защите данных класса. Кроме того это уменьшает область критического кода, да и вообще количество возможных ошибок. Иногда блокировок ой как много бывает.

Это сообщение отредактировал(а) georain - 19.2.2009, 16:25
PM MAIL   Вверх
vinter
Дата 11.6.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата(georain @  11.6.2008,  11:16 Найти цитируемый пост)
vinter, это ухудшает инкапсуляцию, есть паттерн типа "защищённый класс", все открытые методы начинаются с блокировки. Тогда не надо заботится о защите данных класса. Кроме того это уменьшает область критического кода, да и вообще количество возможных ошибок. Иногда блокировок ой как много бывает.

зависит от назначения класса, если будет библиотека, то внутренние блокировки не айс, как пример STL


--------------------
Мой блог
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.