Вышла книга Simon Marlow "Parallel and Concurrent Programming in Haskell"
В настоящий момент доступна электорнная версия (еще одна), через неделю или две будет доступен бумажный вариант.
Здравствуйте, kmmbvnr, Вы писали:
K>Здравствуйте, Димчанский, Вы писали:
Д>>Вышла книга Simon Marlow "Parallel and Concurrent Programming in Haskell"
K>Как кстати на русский переводится Parallel and Concurrent? Параллельное и конкурентное?
Нет, просто параллельное.
Re: [Ann][Book] Simon Marlow - Parallel and Concurrent Programming in Haskell
Здравствуйте, kmmbvnr, Вы писали:
K>Здравствуйте, -n1l-, Вы писали:
K>>>Как кстати на русский переводится Parallel and Concurrent? Параллельное и конкурентное? N>>Нет, просто параллельное.
K>Нет, Parallel и Concurrent в английском программерском это разные понятия.
Тогда объясните разницу между параллельным и конкурентным программированием.
Re[4]: [Ann][Book] Simon Marlow - Parallel and Concurrent Programming in Haskell
Здравствуйте, kmmbvnr, Вы писали:
K>Здравствуйте, -n1l-, Вы писали:
K>>>Как кстати на русский переводится Parallel and Concurrent? Параллельное и конкурентное? N>>Нет, просто параллельное.
K>Нет, Parallel и Concurrent в английском программерском это разные понятия.
Здравствуйте, -n1l-, Вы писали:
N>Здравствуйте, kmmbvnr, Вы писали:
K>>Здравствуйте, -n1l-, Вы писали:
K>>>>Как кстати на русский переводится Parallel and Concurrent? Параллельное и конкурентное? N>>>Нет, просто параллельное.
K>>Нет, Parallel и Concurrent в английском программерском это разные понятия.
N>Тогда объясните разницу между параллельным и конкурентным программированием.
Параллельное — это когда у тебя есть задача типа суммирования массива, а ты ее параллелизуешь, т.е. fork-join, GPU.
А "конкурентное" — это когда у тебя куча потоков и все делают каждый свое, не обязательно решая все вместе какую-то одну задачу, а могут быть совершенно разными — один поток логирует, другой с юзером общается, третий сеть теребит, четвертый базу данных чешет. Т.е. то, что у нас обычно подразумевается под многопоточным программированием.
Здравствуйте, -n1l-, Вы писали:
N>Параллельное — использующее ресурсы машины. N>Конкурентное — борьба потоков за ресурсы машины. N>Правильно?
Ну да, как-то так. В параллельном программировании ты задачу формулируешь так, чтоб потоку друг другу не мешали и не конкурировали (типа GPU). Ну или там в программе пишешь какой-нть parallel_for/parallel_reduce. Т.е. в принципе это просто такая возможность ускорить программу, но не принципиальная. Программа будет работать точно так же, если вместо parallel_for будет обычный for.
А в конкуретном у тебя много разных задач исполняются вместе, и это несводимо к одной линейной задаче, если только ты не испохабишь код явной квантизацией либо явной же кооперативностью. И да, потоки будут конкурировать за ресурсы.