Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
#1

Многопоточность - C++

16.08.2013, 21:32. Просмотров 1435. Ответов 22
Метки нет (Все метки)

Всем привет, заметил в одном проекте подобный код:

C++
1
2
3
4
5
6
7
8
9
struct Counter
{
    int i;
}
 
#define g_counter ACE_Singleton< Counter, ACE_Thread_Mutex >::instance()
 
// Из нескольких потоков
g_counter->i++;
Является ли данная реализация правильной?

По идеи ведь на instance вообще нет смысла вешать mutex - чтение атомарно.
В свою очередь свойство `i`, как раз и должно было завернуто в mutex.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2013, 21:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Многопоточность (C++):

Многопоточность в С++ - C++
Добрый день! Если я создам экземпляр класса в одном потоке и начну одновременно из нескольких других потоков обращаться тому...

Многопоточность - C++
Здравствуйте! Пожалуйста посоветуйте литературу или какие либо статьи для изучение многопоточных приложений где расписано все подробно....

Многопоточность - C++
Как создать 2 функции. Главную и второстепенную. Чтобы в определенный момент из главной в второстепенную было передано число и дальше 2...

C++ и Многопоточность. - C++
Всем привет. Написал код с использованием Curl для авторизации в вконтакте (могу скинуть код). Аккаунты для авторизации берутся из...

Многопоточность - C++
Есть задание: Написать и протестировать функцию, которая находит в массиве минимальный по модулю элемент и заменяет им все элементы с...

Многопоточность - C++
При добавлении больше 10000 элементов в таблицу на форму форма зависает, как это исправить? (использую QT)

22
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
17.08.2013, 18:53  [ТС] #16
castaway
Обратите внимание на то, что "Вы" было написано с большой.
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
17.08.2013, 18:54 #17
Цитата Сообщение от kvadro Посмотреть сообщение
некоторые программисты всё-равно используют старые методы для подстраховки, с другой стороны на иностранных ресурсах всё-равно советуют использовать синглтон на базе std::call_once, возникает вопрос - зачем все усложняют себе жизнь если и так всё будет работать? Вероятно, что есть причины...
static, call_once и всякие самопальные решения - это не одно и то же.
Одни выигрывают в простоте, другие в переносимости, третьи в эффективности и т.д.
Я вот сейчас ради интереса прошелся отладчиком по реализации call_once в VC++ 2012 -
это же натурально дикий ужас: какие-то критические секции, планирование потоков, TLS и т.п.
В то же время можно написать почти эквивалентную реализацию на одном интерлоке +
однократной wait-функции...
1
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
17.08.2013, 18:55 #18
Цитата Сообщение от kvadro Посмотреть сообщение
Обратите внимание на то, что "Вы" было написано с большой.
Обратите внимание на слова "Какие" и "остроумные".
0
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.08.2013, 18:58 #19
Цитата Сообщение от kvadro Посмотреть сообщение
Что посоветуете почитать по C++
Литература C++
1
magirus
17.08.2013, 19:07
  #20
 Комментарий администратора 
castaway, флуд прекратите.
1
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
17.08.2013, 19:16  [ТС] #21
это же натурально дикий ужас
Ну для VS 2012 вроде есть только бета версия toolset с поддержкой C++11, я где-то читал что в clang call_once хорошо оптимизирован.

Jupiter
Я вот думал взять такую подборку:
Брюс Эккель, Чак Эллисон - Философия C++. Часть 1. Введение в стандартный C++
Брюс Эккель, Чак Эллисон - Философия C++. Практическое программирование
Прата С. - Язык программирования C++
Р. Лафоре - Объектно-ориентированное программирование в С++
Андрей Александреску: Современное проектирование на С++
Скотт Мейерс - Эффективное использование STL
Бьярн Страуструп - Язык программирования C++
Но одни критикуют, другие хвалят эти книги, в итоге не ясно что стоит брать, что нет. За ссылку огромное спасибо.
0
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.08.2013, 19:31 #22
kvadro, не думаю что есть смысл читать книги этих трех авторов вместе
Цитата Сообщение от kvadro Посмотреть сообщение
Брюс Эккель, Чак Эллисон - Философия C++. Часть 1. Введение в стандартный C++
Брюс Эккель, Чак Эллисон - Философия C++. Практическое программирование
Прата С. - Язык программирования C++
Р. Лафоре - Объектно-ориентированное программирование в С++
вам должно хватить и одного автора.

А вот эти(да и вообще весь левел-ап) must read,
Цитата Сообщение от kvadro Посмотреть сообщение
Андрей Александреску: Современное проектирование на С++
Скотт Мейерс - Эффективное использование STL
Бьярн Страуструп - Язык программирования C++
но опять же их нельзя так просто проглотить, интерес придет со временем, а если просто погрузиться в чтение то покажется мутью.
0
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
17.08.2013, 19:53  [ТС] #23
вам должно хватить и одного автора.
Тогда лучше выбрать Прата С. - Язык программирования C++?? Ну и Р. Лафоре захватить, где он рассказывает про UML?


но опять же их нельзя так просто проглотить, интерес придет со временем, а если просто погрузиться в чтение то покажется мутью.
Ну я читал урывки Александреску - вроде довольно увликательно, заставляет включать мозг.
0
17.08.2013, 19:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2013, 19:53
Привет! Вот еще темы с ответами:

Многопоточность С++ - C++
Добрый вечер! написал вот такую программку. std::vector&lt;std::thread&gt; threads; std::recursive_mutex mutex; for (int i...

Многопоточность c++ - C++
Добрый день! Я только начинаю изучать многозадачность в c++ и у меня возник вопрос о том как возможно использовать один объект разными...

Многопоточность - C++
Здравствуйте уважаемые форумчане! Суть проблемы такова, в нижней задаче есть две методы сортировки, и эти два метода надо чтобы выполнялись...

Многопоточность - C++
Здраствуйте! Объясните пожалуйста понятными словами что такое многопоточность и для чего она нужна?


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Опции темы

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