Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 116 сообщений
Cообщения с меткой

асинхронность - Самое интересное в блогах

Следующие 30  »
rss_habr

Современные возможности C++ и проверенные паттерны: активный объект, внешний полиморфизм и корутины

Понедельник, 09 Января 2023 г. 11:21 (ссылка)

В этой статье я покажу, как внешний полиморфизм (реализация полиморфного поведения вне объекта, для которого такое поведение требуется) помогает писать красивые и чистые программы, и расскажу о некоторых базовых и продвинутых способах реализации. Примером будет служить старый добрый паттерн многопоточного программирования “активный объект”. В конце я покажу, как просто реализовать этот паттерн с помощью корутин из стандарта C++20, и как вы можете использовать их, чтобы сделать активный объект еще лучше, добавив в него настоящие асинхронные функции.

Читать далее

https://habr.com/ru/post/709436/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709436

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Как работать с процессами и потоками в Python

Среда, 23 Ноября 2022 г. 10:50 (ссылка)

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

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

Читать далее

https://habr.com/ru/post/701020/?utm_source=habrahabr&utm_medium=rss&utm_campaign=701020

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Параллелизм, асинхронность, многопоточность – Reactor почти всё сделает за Вас

Воскресенье, 14 Ноября 2022 г. 02:09 (ссылка)

Реактивные паттерны программирования становятся всё более востребованы при реализации высоконагруженных сервисов. Вот уже и в Spring законсервировали RestTemplate. В тоже время, реактивные фреймворки предоставляют инструменты, позволяющие с минимальными затратами на кодирование использовать механизмы асинхронности и многопоточности.

В качестве примера, предлагаю рассмотреть реализацию сервис индексации данных в ElasticSearch. Данные хранятся в MongoDB, ключевые атрибуты которых синхронизируются с ElasticSearch (функционально похоже на Logstash). В проекте используется стек: Java/Spring Boot/Reactor/WebFlux/WebClient/RabbitMQ/MongoDB. На выбор RabbitMQ и MongoDB повлияло, в том числе, наличие реактивных драйверов.

Читать далее

https://habr.com/ru/post/699112/?utm_source=habrahabr&utm_medium=rss&utm_campaign=699112

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 3. Первый подход к асинхронности

Понедельник, 11 Июля 2022 г. 18:00 (ссылка)

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

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

Но, к счастью, существует и третий вариант — кооперативная многозадачность с помощью системного вызова select и его аналогов (poll, epoll и других). Он позволяет мультеплексировать несколько задач в одном потоке выполнения и в сущности является обычной синхронной программой. А потому никаких дополнительных трат процессорного времени и времени разработчиков не требуется.

Читать далее

https://habr.com/ru/post/676124/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676124

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Async/await в Swift 5.5: асинхронность «здорового человека»

Пятница, 08 Июля 2022 г. 19:25 (ссылка)

Не так давно WWDC21 представила новый интерфейс асинхронности async/await. Это одно из самых важных обновлений Swift за последнее время. Меня, как iOS-разработчика, это событие не могло оставить равнодушной. Я решила вникнуть в нюансы работы async/await и сейчас хочу поделиться своим пониманием механизма, а также показать все его внешние и некоторые внутренние преимущества.

Для начала давайте разберемся с терминологией.

Читать далее

https://habr.com/ru/post/675982/?utm_source=habrahabr&utm_medium=rss&utm_campaign=675982

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Асинхронный python без головной боли (часть 2)

Четверг, 16 Июня 2022 г. 17:34 (ссылка)

Продолжаем готовить asyncio

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

Выпей меня

https://habr.com/ru/post/671798/?utm_source=habrahabr&utm_medium=rss&utm_campaign=671798

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Асинхронные моки. Создаем и тестируем telegram-бот на Kotlin

Понедельник, 30 Мая 2022 г. 19:01 (ссылка)

Любая асинхронность повышает уровень тревожности при разработке автоматических тестов. Особенно в ситуации, когда нужно выполнить проверку корректности работы системы, основанной на графе состояний со взаимодействием с внешним API через Flow. Примером такой системы может быть Telegram-бот, построенный на диалоге с внешним пользователем. В этой статье мы с вами создадим простой бот на Kotlin (с поддержкой многоязычности) и последовательно разберем возможные способы использования асинхронных моков и тестов для Flow с использованием библиотеки mockk и типобезопасной библиотеки для взаимодействия с API Telegram на Kotlin.

Читать далее

https://habr.com/ru/post/668352/?utm_source=habrahabr&utm_medium=rss&utm_campaign=668352

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Асинхронный python без головной боли

Вторник, 24 Мая 2022 г. 22:59 (ссылка)

Почему так сложно понять asyncio?

Асинхронное программирование традиционно относят к темам для "продвинутых". Действительно, у новичков часто возникают сложности с практическим освоением асинхронности.

Но будь я автором самого толстого в мире учебника по python, я бы рассказывал читателям про асинхронное программирование уже с первых страниц. Вот только написали "Hello, world!" и тут же приступили к созданию "Hello, asynchronous world!". А уже потом циклы, условия и все такое.

Читать далее

https://habr.com/ru/post/667630/?utm_source=habrahabr&utm_medium=rss&utm_campaign=667630

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Websocket-сервер для геолокации на asyncio

Пятница, 08 Апреля 2022 г. 19:59 (ссылка)

Привет!

Меня зовут Артем, я занимаюсь бэкенд-разработкой в KTS и веду курс по асинхронному программированию в школе Metaclass.

11-го апреля у нас стартует 3-й поток курса. Чтобы показать, чему учатся наши студенты, мы провели live-code-вебинар по вебсокетам, на котором написали сервис, в котором пользователи могут делиться своей геопозицией в режиме реального времени. Хотите узнать, как создавать такие сервисы?

Хочу

https://habr.com/ru/post/659341/?utm_source=habrahabr&utm_medium=rss&utm_campaign=659341

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<асинхронность - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda