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

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

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

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.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2013, 21:32     Многопоточность
Посмотрите здесь:

C++ Многопоточность
C++ C++ и Многопоточность.
C++ Многопоточность
C++ Многопоточность
C++ Многопоточность
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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++
Но одни критикуют, другие хвалят эти книги, в итоге не ясно что стоит брать, что нет. За ссылку огромное спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 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++
но опять же их нельзя так просто проглотить, интерес придет со временем, а если просто погрузиться в чтение то покажется мутью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2013, 19:53     Многопоточность
Еще ссылки по теме:

Многопоточность C++
C++ 11 многопоточность C++
Многопоточность C++

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

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


но опять же их нельзя так просто проглотить, интерес придет со временем, а если просто погрузиться в чтение то покажется мутью.
Ну я читал урывки Александреску - вроде довольно увликательно, заставляет включать мозг.
Yandex
Объявления
17.08.2013, 19:53     Многопоточность
Ответ Создать тему
Опции темы

Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru