![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Добрый день.
Есть необходимость сравнить стандарт C++98 vs C++11 с точки зрения разработки многопоточных приложений. Виртуально я понимаю, что разница в пользу C++11, но поскольку реального опыта немного, хотелось бы спросить у опытных людей, кто писал и там и там - есть ли разница на практике и насколько она большая? Future/promises/et al это все хорошо, но возможно на практике их мало используют по каким-либо причинам? Может кто опытом поделиться? P.S. основной контекст вопроса: добавит ли переход на C++11 продуктивности разработчикам или это больше сахар/мода/другое и можно спокойно оставаться на С++98, ничего не потеряем |
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
С++98 не знает о потоках ничего. Вообще.
Поддержка многопоточности реализована сторонними библиотеками, например, Boost.Thread, pthread(для Posix совместимых ОС) и т.п. |
|||
|
||||
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Так я это и имею в виду - в C++98 пилить ручками нужно, а в С++11 многое есть из коробки. Поэтому виртуально С++11 выигрывает. Но как это выглядит на практике? Не является ли эта сторона стандарта малоиспользуемой фичей? Возможно так какие-то подводные камни и люди попробовав продолжают писать ручками через pthread/boost?
|
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
drug007, не юзаю c++11, но могу сказать, что потоковая часть c++11 по сути и есть Boost.Thread.
Если бы у меня был выбор - использовал бы c++11 без раздумий. И вообще я бы пошёл от обратного, какие есть возражения против того, чтобы использовать c++11? Если уже есть проект - ничего не мешает перекомпилить его новым компилятором, с обратной совместимостью проблем возникнуть не должно, а новые части проекта писать уже с использованием фич одиннадцатых плюсов. |
|||
|
||||
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Да я вот хочу как раз убедить народ, что нужно переходить на С++11. Просто вдруг есть контаргументы - вот решил спросить на всякий случай.
|
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
Думаю, раз "народ" до сих пор не перешёл самостоятельно, какие-то контраргументы имеются у него |
|||
|
||||
| tzirechnoy |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 2 Всего: 16 |
Контраргумент: код, реализующий pthreads -- гораздо меньшэ, написан в меньшэм количестве мест, сравнительно легко смотрится при помощи gdb и не использует всякой плюсовой магии по оборачиванию шаблонов и параметризацыи функцый в периоде компиляцыи.
Его работу проще понять. Это очень важно для отладки. |
|||
|
||||
| drug007 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Контраргументы, по которым народ не перешел уже отпали по естественным причинам. Вот как раз такие моменты я и хочу узнать, спасибо. Вот только я считал, что pthreads наоборот даст больше кода в результате. Отлаживать сетевой и многопоточный код я предпочитаю через printf, хотя gdb штука очень хорошая и полезная, безусловно. Это сообщение отредактировал(а) drug007 - 19.8.2014, 10:06 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Неа. Вернее, совсем нет. Вот тут - http://stackoverflow.com/questions/7241993...c11-equivalents - первый ответ (у всех м.б. отсортировано по-разному, поэтому см. ответ, начинающйся с "There are several differences between Boost.Thread and the C++11 standard thread library:") -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| NoviceF |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |