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

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

Войти
Регистрация
Восстановить пароль
 
san92der
14 / 14 / 3
Регистрация: 27.10.2012
Сообщений: 108
#1

Сравнение многопоточности С++11 и WinAPI - C++

06.06.2013, 02:48. Просмотров 463. Ответов 9
Метки нет (Все метки)

У меня скорее теоретический вопрос, чем практический. Есть ли разница работы с многопоточностью в С++11, и, например в WinAPI? Преподаватель в универе долго мне пытался доказать, что WinAPI лучше потому, что он сильнее дружит с архитектурой системы и тому подобное, и поэтому может работать и лучше и менее капризно. Но новый стандарт ведь тоже не глупые люди разрабатывали) Надеюсь, мой вопрос понятен)
з.ы. над удобством/простотой/сложностью написания кода можно не заморачиваться
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2013, 02:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнение многопоточности С++11 и WinAPI (C++):

О многопоточности - C++
Интересно, стало, а сколько всего потоков я могу открыть в своем проекте, существуют ли какие нибудь ограничения? и от чего зависит...

Синхронизации многопоточности - C++
добрый день, пытаюсь сделать синхронизацию потом на примере producer\consumer, но что-то не выходит, я в consumere сделал ожидания...

Производительность многопоточности - C++
Доброго времени суток. Решил заняться многопоточностью, и натолкнулся на непонимание с производиельность Есть код в 2 потока: ...

изучение многопоточности - C++
с чего стоит начать изучение многопоточности? есть базовые знания по С++, основы ООП. пытался читать Назарр К., Рихтер Дж. - Windows via...

Подскажите литературу о многопоточности! - C++
Начинал читать QNX/UNIX Анатомия Параллелизма О.Цилюрик Е.Горошко, но там упор делается на QNX... Хотелось бы что-то связанное с...

Управление потоками в многопоточности - C++
вопрос простой: что посоветуете почитать по теме для начинающего? с помощью чего проще реализовать? windows/linux? (нужно просто...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13132 / 7395 / 828
Регистрация: 27.09.2012
Сообщений: 18,213
Записей в блоге: 3
Завершенные тесты: 1
06.06.2013, 03:01 #2
Цитата Сообщение от san92der Посмотреть сообщение
поэтому может работать и лучше и менее капризно.
Вопрос сможете ли Вы написать лучше, чем группа профессиональных программистов
В конечном итоге все равно все сводится к API системы
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
06.06.2013, 03:27 #3

Не по теме:

Так и чешется написать про винду головного мозга.


С++11 взял лучшее из буста, который приобрел свою популярность не благодаря пиару и навязыванию технологий. Писать некроссплатформенный код там, где это можно обойти без вреда со стороны функциональности и удобства не комильфо.

Для меня этот вопрос звучит равнозначно:
printf_s круче printf

Ну и конечно все это одна моя большая ИМХА. Тема из разряда холиваров.
gray_fox
What a waste!
1506 / 1209 / 68
Регистрация: 21.04.2012
Сообщений: 2,543
Завершенные тесты: 3
06.06.2013, 03:38 #4
san92der, в любом случае многопоточность С++11 под Win - обёртка над WinAPI.
Добавлено через 1 минуту
И да, WinAPI - это же такая красота, как же от этого отказаться то можно...)

Добавлено через 6 минут
Цитата Сообщение от san92der Посмотреть сообщение
Преподаватель в универе долго мне пытался доказать, что WinAPI лучше потому, что он сильнее дружит с архитектурой системы и тому подобное, и поэтому может работать и лучше и менее капризно
Можно намекнуть ему на переносимость...
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
06.06.2013, 03:44 #5
gray_fox, к сожалению, для подобных личностей не существует альтернативных ОС, а если и есть, то они кушают сказки про 1% пользователей и для них аргумент кроссплатформенность вообще не аргумент.

P.S. ну разве что если между разными версиями ОС Windows.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
06.06.2013, 04:46 #6
Цитата Сообщение от MrGluck Посмотреть сообщение
gray_fox, к сожалению, для подобных личностей не существует альтернативных ОС
Вот не нужно только об "ольтернативных ОС" разводить... Виндоус де-факто лучшая ОС для пользователей ПК. Препод прав насчёт обёртки над АПИ? Прав!

Добавлено через 2 минуты
Цитата Сообщение от MrGluck Посмотреть сообщение
Писать некроссплатформенный код там, где это можно обойти без вреда со стороны функциональности и удобства не комильфо.
Зачем вообще использовать кросплатформенность как аргумент, если работаешь под виндой? Кросплатформенность вычёркиваем, какие ещё достоинства?!
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
06.06.2013, 05:00 #7
Собственно про что я и говорил постом выше

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
работаешь под виндой?
Так для развлекушечек. Просто ты не знаешь всей схемы. Передо мной стоит ноут с линем, на котором я пишу большой курсач на PHP, апаче и мускуле, иногда я, дабы расслабиться, захожу на форум потрендеть, пощелкать задачки, посмотреть заказы. Что мешает сидеть и на стационарнике на лине? Банальная лень. У меня давно (с февраля) SSD под линь валяется, времени все нет комп разобрать да вставить. (Просто хочется заодно и все детали повыковыривать от пыли, термопасту поменять и т.д. Все это делается на целый день, но лень)
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.06.2013, 09:24 #8
У Си++11 и его многопоточности главная фишка в том, что она вообще появилась в языке. До этого работа программ в многопоточной среде не регламентировалась никак.

Кузе: распространённость ОС — это ещё не повод прибивать программы к ней гвоздями, городя кучу костылей, опирающихся на костыли в её API, потому что так легче.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
06.06.2013, 10:55 #9
Kuzia domovenok,
Зачем вообще использовать кросплатформенность как аргумент, если работаешь под виндой? Кросплатформенность вычёркиваем, какие ещё достоинства?!
Более понятный, высокоуровневый, интуитивный код в стиле С++ (ведь пишем-то на С++), а не в стиле Си, не является достаточным аргументом?
Убежденный
Системный программист
Эксперт С++
15503 / 7001 / 1105
Регистрация: 02.05.2013
Сообщений: 11,435
Завершенные тесты: 1
06.06.2013, 11:17 #10
Цитата Сообщение от san92der Посмотреть сообщение
Есть ли разница работы с многопоточностью в С++11, и, например в WinAPI?
Конечно есть !
В Win32 API можно, к примеру, создать именованный объект синхронизации и
раздать разным пользователям разные права на него - кому полные, кому
только на чтение, кому вообще без доступа. Или, например, закинуть в
сокет порцию данных и "пойти гулять", а когда операция будет завершена,
получить уведомление через alertable-I/O или порт завершения ввода-вывода.
И если правильно все сделать, это будет наиболее эффективная для данной
платформы комбинация.

А C++11 обеспечивает лишь подмножество компонентов для работы с
потоками и синхронизацией, понятно, что "родные" возможности ОС будут
наверняка побогаче.

Другое дело, что "голые" интерфейсы Win32 API использовать сложно и опасно,
поэтому все они требуют заключения в соответствующие обертки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2013, 11:17
Привет! Вот еще темы с ответами:

Теория о многопоточности и многопроцессорности - C++
Ребят, возник вот такой вопрос: в каком случае многопоточность и многопроцессорность не будут работать?

Реализация многопоточности в консоли - C++
Доброго времени суток. Не могу разобраться в многопоточности. Реализовано перемещение по меню с помощью клавиш, и с помощью мыши. Надо...

Объясните принцип создания многопоточности - C++
Здраствуйте, объясните пожалйста как сделать программу многопоточной, у меня есть одна программа, в которой большая нагрузка идет на...

Реализация многопоточности в GUI приложении - C++
Здравствуйте! Заранее извиняюсь за, возможно, глупые вопросы по поводу этой темы, но они все-таки возникли ^_^ Стоит задача...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.06.2013, 11:17
Ответ Создать тему
Опции темы

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