Комментарии 16
Ох, спасибо еще раз. Имею издание 12 года и долго ждал, когда выйдет обновленное. Дождался. Куплю электронную версию на этот раз
А если уже есть бумажная версия, получить электронную возможно?
Спасибо, надо брать. Жаль на Украину скидка не распространяется, разве что на электронную версию. Где на Украине можно купить?
Только прошлое издание: http://akonit.net/329291-parallelnoe-prorrammirovanie-na-s-v-deystvii.-praktika-razrabotki-mnoropotochnih-prorramm и по цене в 2 р выше, чем в России.
Подскажите, у бумажной версии нового издания такие же габариты книги остались как и у предыдущего издания?
Имеется бумажная версия предыдущего издания. Сама книга хороша, но является показательным примером того как не надо выпускать в печать. Читать неудобно
Имеется бумажная версия предыдущего издания. Сама книга хороша, но является показательным примером того как не надо выпускать в печать. Читать неудобно
Первое издание не мы выпускали.
Купил новую версию в электронном виде, сравнил с изданием 2012 г.
Нового совсем не много. В основном, замена лексики типа:
«Один из распространенных способов разрешить такую ситуацию – сделать функцию потока замкнутой, то есть копировать в поток данные, а не разделять их» на «Справиться с подобным сценарием можно одним из распространенных способов: сделать функцию потока автономной и вместо разделения данных скопировать их в поток. „
или же
“Есть и другой способ – явно гарантировать, что поток завершит исполнение до выхода из функции, присоединившись к нему» на «Или же, присоединив поток до выхода из функции, можно убедиться в завершении его выполнения.»
В приложении А, там где ранее был справочник по новым функциям с+11, теперь… тот же с++11. :)
Но появилась глава 10, в которой действительно показаны новшества с++17 (аж 12 страниц).
В нескольких местах указаны отличия в коде для с++11 и с++14.
В общем, как новая книжка — она превосходна. Очень помогла в свое время.
Но если есть версия 2012 — то стоят ли изменения 500 руб, я не уверен.
Нового совсем не много. В основном, замена лексики типа:
«Один из распространенных способов разрешить такую ситуацию – сделать функцию потока замкнутой, то есть копировать в поток данные, а не разделять их» на «Справиться с подобным сценарием можно одним из распространенных способов: сделать функцию потока автономной и вместо разделения данных скопировать их в поток. „
или же
“Есть и другой способ – явно гарантировать, что поток завершит исполнение до выхода из функции, присоединившись к нему» на «Или же, присоединив поток до выхода из функции, можно убедиться в завершении его выполнения.»
В приложении А, там где ранее был справочник по новым функциям с+11, теперь… тот же с++11. :)
Но появилась глава 10, в которой действительно показаны новшества с++17 (аж 12 страниц).
В нескольких местах указаны отличия в коде для с++11 и с++14.
В общем, как новая книжка — она превосходна. Очень помогла в свое время.
Но если есть версия 2012 — то стоят ли изменения 500 руб, я не уверен.
В общем, как новая книжка — она превосходна. Очень помогла в свое время.
Было желание купить. Хотя бы электронную версию. Но перед этим поискал в инете первое издание — 2012. Нашел и желание тут же улетучилось. В новом, похоже, термин «параллелизм» заменили на «конкурентность», а «многопоточность» на «параллелизм». На мой взгляд, первое издание точнее. Так что насчет «превосходная» — стоит, думаю, воздержаться. Как минимум, до выяснения самого качества перевода. Кто-то явно термины перепутал.
У меня есть два потока. Один это графический интерфейс (C++ / WTL) и второй опенсорсный консольный видеоплейер FFPlay.
Я открываю видео, получаю хэндл окна видеопроигрывателя из второго потока и подчиняю его клиентской области главного окна приложения.
Все замечательно, видео проигрывается, интерфейс главного окна работает независимо. Но если в главном окне добавить несколько видов и начать переключаться между ними, с помощью функции «::BringWindowToTop(m_hWndClient);», то пока поток один, все хорошо, а если присутствует окно видео из второго потока, то создается впечатление, что указанная функция работает только с окнами своего потока, тогда как другие функции, вроде SetParent() или ShowWindow() и подобные, могут иметь дело со всеми окнами из всех потоков.
Просмотрев много информации по потокам, я не нашел нигде работу с окнами из разных потоков. Второй и другие потоки это практически всегда, грубо говоря, консольные потоки. Поэтому меня интересует вопрос, как правильно организовать переключение между клиентскими окнами (в SDI приложении), в случае, если это окна из разных потоков? Должен ли я создавать видео окно в первом потоке и из второго потока только управлять его содержимым или существует другой, более простой, способ управления дочерними окнами (с одним единственным родителем) из разных потоков?
Спасибо!
Я открываю видео, получаю хэндл окна видеопроигрывателя из второго потока и подчиняю его клиентской области главного окна приложения.
Все замечательно, видео проигрывается, интерфейс главного окна работает независимо. Но если в главном окне добавить несколько видов и начать переключаться между ними, с помощью функции «::BringWindowToTop(m_hWndClient);», то пока поток один, все хорошо, а если присутствует окно видео из второго потока, то создается впечатление, что указанная функция работает только с окнами своего потока, тогда как другие функции, вроде SetParent() или ShowWindow() и подобные, могут иметь дело со всеми окнами из всех потоков.
Просмотрев много информации по потокам, я не нашел нигде работу с окнами из разных потоков. Второй и другие потоки это практически всегда, грубо говоря, консольные потоки. Поэтому меня интересует вопрос, как правильно организовать переключение между клиентскими окнами (в SDI приложении), в случае, если это окна из разных потоков? Должен ли я создавать видео окно в первом потоке и из второго потока только управлять его содержимым или существует другой, более простой, способ управления дочерними окнами (с одним единственным родителем) из разных потоков?
Спасибо!
Книга отличная.
Но почему достаточно дорогая книга издается в мягкой обложке?
Но почему достаточно дорогая книга издается в мягкой обложке?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Книга «C++. Практика многопоточного программирования»