Разработчики ASP.NET должны действительно быть обеспокоены потокобезопасностью?

Если Вы будете программистом Java/C#, изучающим C++, то Вы испытаете желание продолжать думать с точки зрения Java/C# и переводить дословно в синтаксис C++. В этом случае Вы только извлекаете ранее упомянутую пользу из собственного кода по сравнению с интерпретируемым/JIT. Для получения самого большого увеличения производительности в C++ по сравнению с Java/C# необходимо учиться думать в C++ и коде дизайна конкретно для использования преимуществ C++.

Для перефразирования Edsger Dijkstra : [Ваш первый язык] калечит ум вне восстановления.
Для перефразирования Jeff Atwood : можно записать [первый язык] на любом новом языке.

19
задан Community 23 May 2017 в 12:26
поделиться

4 ответа

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

8
ответ дан 30 November 2019 в 04:59
поделиться

Существуют разные уровни разработчиков ASP.NET. Вы могли бы сделать прекрасную карьеру в качестве разработчика ASP.NET, ничего не зная о потоках, мьютексах, блокировках, семафорах и даже шаблонах проектирования, потому что большая часть приложений ASP.NET в основном являются приложениями CRUD с минимальной или нулевой дополнительной бизнес-логикой.

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

Так что нет, по большей части ASP. Разработчикам .NET не нужно знать о безопасности потоков. Но что за удовольствие знать только самый минимум?

4
ответ дан 30 November 2019 в 04:59
поделиться

Только если вы создаете в потоке обработки для одного HTTPRequest несколько собственных потоков ... Например, если веб-страница будет отображать котировки акций для набора акций, и вы выполняете отдельные вызовы службы котировок акций в независимых потоках, чтобы получить котировки, прежде чем генерировать страницу для отправки обратно клиенту ... Затем вам нужно будет убедиться, что код, который вы запускаете в , ваш thread - потокобезопасный.

3
ответ дан 30 November 2019 в 04:59
поделиться

Я думаю, вы очень хорошо все это осветили. Я согласен. Сосредоточение внимания только на ASP.NET редко (если вообще возникает) приводит к проблемам с многопоточностью.

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

3
ответ дан 30 November 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: