многопоточное программирование
От: DENIVA Россия http://www.uml3.ru
Дата: 14.09.06 05:46
Оценка:
посоветуйте книгу(и) по многопотоковому программированию.
Желательно чтобы была хорошая теория + хорошее объяснение для Linux с примерами на C,C++
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: многопоточное программирование
От: Aera Беларусь  
Дата: 14.09.06 06:53
Оценка: 1 (1)
Здравствуйте, DENIVA, Вы писали:

DEN>посоветуйте книгу(и) по многопотоковому программированию.

DEN>Желательно чтобы была хорошая теория + хорошее объяснение для Linux с примерами на C,C++

Грегори Эндрюс. Основы многопоточного, параллельного и распределенного программирования

Мне понравилась.
--
RedApe
Re[2]: многопоточное программирование
От: Аноним  
Дата: 14.09.06 08:36
Оценка:
A>Мне понравилась.

А я упёрся в самом начале книги в утверждение о том, что "операции являются независимыми и могут исполняться параллельно, если их множества записи не пересекаются" (пишу по памяти, могу наглючить).
А что, если одна пишет туда, откуда вторая читает, всё равно могут? (множества записи-то не пересекаются)

Вообщем, не понял, что этим хотел сказать автор и не смог читать дальше, т.к. он постоянно на это утверждение ссылался.


А ещё, вроде, есть книга "Programming with POSIX threads", правда, я её не читал
Re[3]: многопоточное программирование
От: Аноним  
Дата: 14.09.06 09:28
Оценка:
Здравствуйте, Аноним, Вы писали:


А>А что, если одна пишет туда, откуда вторая читает, всё равно могут? (множества записи-то не пересекаются)

да
Re[4]: многопоточное программирование
От: Аноним  
Дата: 14.09.06 10:30
Оценка:
А>>А что, если одна пишет туда, откуда вторая читает, всё равно могут? (множества записи-то не пересекаются)
А>да

не, ну я понимаю, что можно выполнять параллельно даже те, которые пишут в одно и то же место — процессор всё стерпит.
Но всё-таки хотелось бы получать предсказуемый результат.
Re: многопоточное программирование
От: MaximE Великобритания  
Дата: 14.09.06 18:27
Оценка: 4 (1)
DENIVA wrote:

> посоветуйте книгу(и) по многопотоковому программированию.

> Желательно чтобы была хорошая теория + хорошее объяснение для Linux с
> примерами на C,C++

http://brian.accu.org/bookreviews/public/reviews/p/p002088.htm

--
Maxim Yegorushkin

No Microsoft product was used in any way to write or send this text.
If you use a Microsoft product to read it, you're doing so at your own risk
Posted via RSDN NNTP Server 2.0
Re[3]: многопоточное программирование
От: Аноним  
Дата: 16.09.06 09:27
Оценка:
А>А я упёрся в самом начале книги в утверждение о том, что "операции являются независимыми и могут исполняться параллельно, если их множества записи не пересекаются" (пишу по памяти, могу наглючить).
А>А что, если одна пишет туда, откуда вторая читает, всё равно могут? (множества записи-то не пересекаются)

А>Вообщем, не понял, что этим хотел сказать автор и не смог читать дальше, т.к. он постоянно на это утверждение ссылался.


Во, добрался до книги, не поленюсь набрать, стр. 52:

Основное требование для возможности распараллеливания любой программы состоит в том, что она должна содержать независимые части, как это описано в разделе 1.4. Две части взаимно зависимы, если каждая из них порождает результаты, необходимые для другой; это возможно, только если они считывают и записывают разделяемые переменные. Следовательно, две части программы независимы, если они не выполняют чтение и запись одних и тех же переменных.


С этими общими расссуждениями, если не придираться, в принципе всё нормально. Но автор пошёл дальше:

Более точное определение таково.
(2.1) Независимость параллельных процессов.
Пусть множество чтения части программы — это переменные, которые она считывает, но не изменяет. Пусть множество записи части программы — это переменные, которые она записывает (и, возможно, читает их). Две части программы являются независимыми, если пересечение их множеств записи пусто.


Но это ведь лажа!
Тем более он сам дальше пишет:

Из предшествующего определения следует, что две части программы независимы, если обе они только считывают разделяемые переменные, или каждая часть считывает переменные, отличные от тех, которые другая записывает.


Вот это разумно, но оно не следует из предшествующего определения.
А дальше по книге он опять ссылается на "пересечение множеств записи" ...

Так я её и бросил.
Может у кого есть английский вариант — что он там пишет?
Вообщем, IMHO книгу можно читать только, если уже знать, как оно на самом деле.
Re[2]: многопоточное программирование
От: remark Россия http://www.1024cores.net/
Дата: 17.09.06 12:03
Оценка:
Здравствуйте, Aera, Вы писали:

A>Здравствуйте, DENIVA, Вы писали:


DEN>>посоветуйте книгу(и) по многопотоковому программированию.

DEN>>Желательно чтобы была хорошая теория + хорошее объяснение для Linux с примерами на C,C++

A>Грегори Эндрюс. Основы многопоточного, параллельного и распределенного программирования


A>Мне понравилась.


Имхо лажа
После прочтения сложно будет начинать решать реальные задачи. Лучше книжку, написанную практиком, с конкретными задачами и примерами на С++.
Во-первых, писал теоретик.
Во-вторых, окцент на scientific computations.



1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[3]: многопоточное программирование
От: Aera Беларусь  
Дата: 18.09.06 06:07
Оценка:
Здравствуйте, remark, Вы писали:

A>>Грегори Эндрюс. Основы многопоточного, параллельного и распределенного программирования


A>>Мне понравилась.


R>После прочтения сложно будет начинать решать реальные задачи.


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

R>Лучше книжку, написанную практиком, с конкретными задачами и примерами на С++.


Какую?
--
RedApe
Re[4]: многопоточное программирование
От: remark Россия http://www.1024cores.net/
Дата: 27.09.06 08:35
Оценка:
Здравствуйте, Aera, Вы писали:

A>Здравствуйте, remark, Вы писали:


A>>>Грегори Эндрюс. Основы многопоточного, параллельного и распределенного программирования


A>>>Мне понравилась.


R>>После прочтения сложно будет начинать решать реальные задачи.


A>Лучше начинать решать практические задачи прочитав эту книгу, чем не читая ее.


Лучше начинать решать практические задачи прочитав другую книгу


1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[5]: многопоточное программирование
От: Aera Беларусь  
Дата: 27.09.06 09:01
Оценка:
Здравствуйте, remark, Вы писали:

A>>>>Грегори . Основы многопоточного, параллельного и распределенного программирования


A>>>>Мне понравилась.


R>>>После прочтения сложно будет начинать решать реальные задачи.


A>>Лучше начинать решать практические задачи прочитав эту книгу, чем не читая ее.


R>Лучше начинать решать практические задачи прочитав другую книгу


Ну так покажи какую.

В свое время я занимался поисками книги, которая могла бы упорядочить имеющиеся у меня практические навыки о многопоточном программировании. Это единственная книга, которую я смог найти.
--
RedApe
Re[6]: многопоточное программирование
От: remark Россия http://www.1024cores.net/
Дата: 27.09.06 09:32
Оценка:
Здравствуйте, Aera, Вы писали:

A>Здравствуйте, remark, Вы писали:


A>>>>>Грегори . Основы многопоточного, параллельного и распределенного программирования


A>>>>>Мне понравилась.


R>>>>После прочтения сложно будет начинать решать реальные задачи.


A>>>Лучше начинать решать практические задачи прочитав эту книгу, чем не читая ее.


R>>Лучше начинать решать практические задачи прочитав другую книгу


A>Ну так покажи какую.


A>В свое время я занимался поисками книги, которая могла бы упорядочить имеющиеся у меня практические навыки о многопоточном программировании. Это единственная книга, которую я смог найти.


Не знаю. Я такую книгу не искал. Я изучал по статьям, форумам, референсам по API.

Ну хотя, возможно здесь
Автор(ы): Джеффри Рихтер
Это издание — практически новая книга, посвещенная программированию серьезных приложений на Microsoft Visual C++ в операционных системах Windows 2000 (32- и 64-разрядных версиях) и Windows 98 с использованием функций Windows API. Состоит из 27 глав, двух приложений и предметного указателя. Гораздо глубже, чем в предыдущих изданиях рассматриваются такие темы, как взаимодействие с операционной системой библиотеки C/C++, программирование DLL и оптимизация кода, описываются новые механизмы и функции, появившиеся в Windows 2000, и приводится информация, специфическая для 64-разрядной Windows 2000. В этом издании автор, перейдя с языка C на C++, переработал все программы-примеры и представил ряд новых приложений, например ProcessInfo и LISWatch. Также появились совершенно новые материалы: выравнивание данных, привязка потоков к процессорам, кэш-линии процессоров, архитектура NUMA, перехват API-вызовов и др. Книга предназначена профессиональным программистам, владеющим языком C/C++ и имеющим опыт разработки Windows-приложений. Прилагаемый компакт-диск содержит все программы из книги (исходный код и исполняемые файлы для процессоров x86, IA-64 и Alpha).
. Книга не посвещена многопоточному программированию, но некоторые моменты упонимаются.


1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[7]: многопоточное программирование
От: Aera Беларусь  
Дата: 27.09.06 10:02
Оценка:
Здравствуйте, remark, Вы писали:

R>Здравствуйте, Aera, Вы писали:


R>Не знаю. Я такую книгу не искал. Я изучал по статьям, форумам, референсам по API.


В какой-то момент хочется собрать кучу знаний воедино.

R>Ну хотя, возможно здесь
Автор(ы): Джеффри Рихтер
Это издание — практически новая книга, посвещенная программированию серьезных приложений на Microsoft Visual C++ в операционных системах Windows 2000 (32- и 64-разрядных версиях) и Windows 98 с использованием функций Windows API. Состоит из 27 глав, двух приложений и предметного указателя. Гораздо глубже, чем в предыдущих изданиях рассматриваются такие темы, как взаимодействие с операционной системой библиотеки C/C++, программирование DLL и оптимизация кода, описываются новые механизмы и функции, появившиеся в Windows 2000, и приводится информация, специфическая для 64-разрядной Windows 2000. В этом издании автор, перейдя с языка C на C++, переработал все программы-примеры и представил ряд новых приложений, например ProcessInfo и LISWatch. Также появились совершенно новые материалы: выравнивание данных, привязка потоков к процессорам, кэш-линии процессоров, архитектура NUMA, перехват API-вызовов и др. Книга предназначена профессиональным программистам, владеющим языком C/C++ и имеющим опыт разработки Windows-приложений. Прилагаемый компакт-диск содержит все программы из книги (исходный код и исполняемые файлы для процессоров x86, IA-64 и Alpha).
. Книга не посвещена многопоточному программированию, но некоторые моменты упонимаются.


Для начинающих — да.

Однако, Win32 это лишь один из вариантов реализации. В posix все сделано совершенно по-другому.
--
RedApe
Re[3]: многопоточное программирование
От: Roman Odaisky Украина  
Дата: 27.09.06 14:59
Оценка: +1
Здравствуйте, remark, Вы писали:

R>Лучше книжку, написанную практиком, с конкретными задачами и примерами на С++.


А они их пишут?
До последнего не верил в пирамиду Лебедева.
Re: многопоточное программирование
От: first_slider  
Дата: 27.09.06 20:25
Оценка: 4 (1)
Здравствуйте, DENIVA, Вы писали:

DEN>посоветуйте книгу(и) по многопотоковому программированию.

DEN>Желательно чтобы была хорошая теория + хорошее объяснение для Linux с примерами на C,C++

Странно, почему ни кто не вспомнил книгу Камерон Хьюз и Трейси Хьюз "Паралельное и распределенное программирование с ипользованием С++". В своем роде уникальная книжка, по крайней мере, чего либо подобного на русском языке я не видел еще. Написана практиками, а не теоретиками. Авторы занимают должности инженеров-программистов в компании CTEST Laboratories. Весьма рекомендую. В России издана Издательским домом "Вильямс". Ознакомиться можно,апример, здесь -> http://www.ozon.ru/context/detail/id/1919696/
Автор(ы): Камерон Хьюз, Трейси Хьюз
Издательство: Вильямс
Цена: 906р.

В книге представлен архитектурный подход к распределенному и параллельному программированию с использованием языка C++. Здесь описаны простые методы программирования параллельных виртуальных машин и основы разработки кластерных приложений. Эта книга
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.