Строгое представление о том, что все синхронно и согласованно, недостаточно хорошо масштабируется. Тогда возникает тенденция иметь больше вещей асинхронных и принимать возможную согласованность . Это также отражается в том, как спроектированы языки и структура.
Вдохновение черпается из области функционал , потому что она хорошо вписывается в этот режим вычислений. Функциональное программирование помогает рассуждать о , что выполнить, а не как и при .
На самом деле дополняет традиционный механизм борьбы с параллелизмом.
Я не смог найти много образцов
сценарии, в которых последние
платформы и библиотеки для параллелизма
может использоваться в контексте веб-приложений. Так
Я хотел бы знать, если они делают
много смысла в веб-домене.
Это зависит от того, что вы имеете в виду. Вам не нужно использовать низкоуровневую конструкцию, такую как в java.util.concurrent
. Но асинхронность поддерживается лучше и лучше по стекам фреймворка. Например, Servlet 3.0 вводит асинхронный веб-запрос, чтобы упростить разработку приложений AJAX . Как следствие, EJB 3.1 имеет асинхронный вызов метода для интеграции с асинхронным веб-уровнем. Внизу мы имеем низкоуровневую абстракцию функции (или делегата, замыкания), которая абстрагирует само вычисление, и информацию, необходимую для вычисления (его контекст). Я думаю, то же самое верно для .NET.
Функциональное программирование, не связанное с традиционным веб-приложением, а скорее с сетью как «облаком», помогает с распределенными вычислениями по CPU и узлам . Хорошо известный пример - map / lower и подобные, которые нацелены на обработку большого набора данных.
Все это соответствует друг другу, и мы видим веб-приложение, которое остается отзывчивым, в то время как большой набор данных обрабатывается асинхронно.
Но нет, вам не понадобится все это для традиционного веб-приложения!