Публикации по теме 'concurrency'


Такой параллелизм! Много ниток! Ух ты!
Во время моего вводного разговора о сопрограммах я показываю этот пример, который пытается создать 100 тысяч потоков, каждый из которых печатает точку после второй задержки: fun main(args: Array<String>) { val jobs = List (100_000) { thread { Thread.sleep(1000L) print ( "." ) } } jobs. forEach { it .join() } } Я утверждаю, что запуск этого кода вызывает ошибку. Однако, если вы действительно запустите этот код в..

Паттерны параллелизма в Rust из Java
В этой статье я делаю заметки о том, как писать сложный код параллелизма на Rust, который я легко пишу на Java. Также я описываю разницу между подходами к параллелизму на низком уровне на обоих языках. Кстати, это также может помочь при миграции с C # на Rust, потому что JVM и .NET имеют схожие модели памяти. Отказ от ответственности Это перевод моего поста на habr.com с русского с небольшими изменениями. Основная претензия к исходной статье заключается в том, что шаблоны..

Анонс RxGo v2
TL;DR; ReactiveX - это API для асинхронного программирования, основанный на шаблоне наблюдателя. RxGo - официальная реализация Go для ReactiveX (двоюродный брат RxJS, RxJava и т. Д.). Есть +50 новых операторов и несколько новых функций (наблюдаемые горячие и холодные, наблюдаемые подключаемые, противодавление и т. Д.) Да, в Go уже есть отличные примитивы параллелизма, и да, дженериков по-прежнему нет. Тем не менее, RxGo, возможно, стоит взглянуть . Обзор В ReactiveX..

Подводные камни параллелизма, о которых следует знать Java-разработчикам
Параллелизм — это тема, которая пугает многих разработчиков. Не секрет, что это сложная тема с многочисленными ловушками. В этой статье я постараюсь представить некоторые из них. Отсутствие синхронизации при чтении Не обращая внимания на пулы потоков Использование ThreadLocal внутри пула потоков Небрежное использование фасада Executors Игнорирование идиомы try-finally при использовании блокировок 1. Отсутствие синхронизации при чтении Важно помнить, что ключевое слово..

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

Параллелизм против параллелизма.
Подход на основе примеров для понимания параллелизма и параллелизма с намеком на Go. Недавно я начал изучать параллелизм в Go и пообещал писать сообщения по темам, которые я изучаю, читая книгу «Параллелизм в Go». Итак, вот он, первый пост из серии. Мы получим обзор того, что такое параллелизм, чем он отличается от параллелизма, а также различные проблемы, с которыми мы должны бороться, чтобы писать безопасные программы. Итак, начнем с вопроса: Что такое параллелизм? В..

Java ThreadLocal - Благо и проклятие
Недавно я и моя команда работали над тестированием производительности определенного фрагмента кода (в частности, конечной точки HTTP), который был в значительной степени унаследован, но также имел некоторые собственные дополнения. Чтобы убедиться, что общая задержка операции соответствует требованиям SLA с новыми дополнениями, мы начали выполнение нагрузочного теста с использованием Jmeter . Унаследованный код также будет асинхронно публиковать некоторые сообщения в нашу внутреннюю..