Здравствуйте, Serginio1, Вы писали:
S>Здравствуйте, ksandro, Вы писали:
K>>Судя по этой цитате, единственный плюс заключается в том, что поток создать быстрее чем процесс. Но понимаешь, такое дело, что создать новый поток все равно не так уж и быстро, и постоянно плодить и убивать множество новых потоков все равно довольно накладно и неэффективно. Поэтому на практике как правило используют пул потоков. То есть создают на старте некоторое оптимальное для данной системы количество потоков, и затем, раскидывают между ними задачи через очередь. Премиущества пула потоков перед пулом процессов я не вижу. Есть конечно программы которые постоянно порождают и убивают новые треды, но это плохой стиль, тормозит и работает медлено.
K>>Так что ИМХО плюсы от более быстрого создания потока по сравнению с процессом, никак не могут превесить огромное количество трудноотлавливаемых ошибок, которое мы получаем из за общего адресного пространства.
S> Вообще то используются пулы потоков, на коих и работает асинхронность и TPL
Ну, вот я говорю, что для большинства задач пулы потоков вполне можно заменить на пулы процессов.
А ассинхронность внутри процесса вполне можно реализовывать с помощью кооперативной многозадачности, что вроде и должны помогать сделать все эти "новомодные" async await (хотя концепция корутин очень старая).