| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Многопоточность. Куда копать? |
| Автор: cppGhost 9.1.2014, 15:49 |
| День добрый. Решив серьезно заняться пробелами в многопоточном программировании, столкнулся с такой проблемой: а в какую сторону именно смотреть. 1) есть новый стандарт. однако приду я на собеседование, а мне там скажут "ну у нас проект не новый и когда мы перейдем на c++11 неизвестно) 2) есть boost asio. тут тоже вещь не самая распространенная. (хотя насколько я понимаю c++11 вышел именно оттуда, но с какими то изменениями) 3) есть библиотеки, позволяющие все это реализовывать. сюда отношу win32 функции и прочее можно сказать, что принцип везде один и тот же, что переход с одного на другое дело несложное (хотя уже вижу, много нюансов между c++11 и тем же win32). хочется выбрать наиболее всеобъемлющий вариант. Что посоветуете? |
| Автор: baldina 9.1.2014, 16:16 |
| сам же сказал boost asio это не многопоточность. она там используется как инструмент, но тема то другая. лучше наверно с++11: стандартно, кроссплатформенно, содержит все необходимые фичи и понятия. еще есть тема распределенных вычислений - тут надо конкретные технологии изучать, OpenMP например |
| Автор: vinter 9.1.2014, 16:17 |
| Boost.Asio это I\O, т.е. многопоточность не реализуется этой библиотекой, а только используется. Лучше всего смотреть на C++11 и Boost.Thread. Они наиболее универсальны. Но универсальность накладывает и ограничения. Есть неплохая http://www.amazon.com/C-Concurrency-Action-Practical-Multithreading/dp/1933988770/ref=sr_1_1?ie=UTF8&qid=1389273423&sr=8-1&keywords=concurrency+in+action по многопоточности в C++. Если мне не изменяет память, то она и на русском выходила. |
| Автор: baldina 9.1.2014, 16:36 |
| http://www.ozon.ru/context/detail/id/17636939/ |
| Автор: cppGhost 10.1.2014, 11:54 |
| Спасибо. Именно ее и продолжаю читать. Буду надеяться, что стандарт есть стандарт и скоро все равно на него перейдет большинство |
| Автор: azesmcar 13.1.2014, 17:10 |
Выходила У соседа на столе лежит. А книга в самом деле хорошая. |
| Автор: Wuffur 21.1.2014, 07:13 |
| Помимо уже упомянутого здесь OpenMP, есть ещё достаточно большое количество других технологий. Boinc - peer2peer вычисления на свободной архивы(смотрите проекты folding@home, rosetta@home), есть CUDA, которая уже ближе к Си++, чем к обычному Си (использование ядер, то есть блочно-нитевая структура выглядит один к одному как шаблоны в Си++ <<<blocks, threads>>>SomeFunction(parameter1, parameter2) - обычно внутри скобок передаются массивы). Для серьёзных вычислений существует ещё MPI - у него есть различные реализации OpenMPI(У меня какие-то траблы с ним |
| Автор: VSB 23.1.2014, 12:33 |
12309 уже починили? |
| Автор: akizelokro 24.1.2014, 00:53 |
| Нормальные наниматели напишут, какой специалист им нужен. И boost::asio напишут. Что ожидать от ненормальных нанимателей, - см. тему об собеседованиях. Добавлено через 6 минут и 7 секунд В смысле нормальные наниматели не обязаны писать обязательно boost::asio(?, это дело менегеров проекта, какой они инструментарий выберут). Есть другие типы вакансий с малозначительной портянкой в один обзац (но там наниматели сами походу не знают, какой специалист им нужен.. на заметку!). Вопросы о будущем языка и библиотеки boost:: оставлю для любителей поговорить. Добавлено через 6 минут и 32 секунды Книги зашибись, но лучше бы и опыт работ |