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


Когда слишком много параллелизма замедляет работу (Голанг)
Сортировка слиянием - один из тех классических алгоритмов «разделяй и властвуй», которые вы изучаете на первом курсе в CS, и для меня это был один из лучших инструментов для развития интуитивного восприятия рекурсии и сложности O (nlog (n)). В этой статье мы собираемся проверить наивную параллельную версию MergeSort в Go, а затем, используя простые инструменты тестирования Go, мы увидим, что с ней не так, а затем применим простое исправление. Если вы не знакомы с алгоритмом, вот отличное..

Обработка ответа от процедуры Go
Существует несколько вариантов использования Go Routine, и один из вариантов использования — запуск нескольких процедур и захват ответа. Примеры использования:- 1. Вызов нескольких API и регистрация/использование ответа. 2. Вставка строк в таблицу и регистрация ошибок, если таковые имеются. Пожалуйста, найдите ниже пример таких требований….!!!! package main import ( "fmt" "sync" ) type Resp struct { Msg string } func main(){ // unbuffered channel to capture..

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

Pool.js: ваш новый друг параллелизма
Проверьте Pool.js на Github Некоторое время назад мне нужно было извлечь достаточно много данных о транзакциях из Stripe . Мне нужно было не только получить много страниц самих транзакций с помощью Stripe List API, но и выполнить дополнительную выборку для каждого элемента , чтобы получить дополнительные данные, не входящие в объекты транзакций. Мой первый наивный подход заключался в простом повторении и извлечении одного за другим: const balanceTransactions =..

Java Atomic Datatype: Справочник по интервью
В рамках параллелизма java представлен новый тип данных для обработки параллелизма. Их называют атомарными типами данных. В этой статье мы исследуем эти типы данных. Что такое атомные типы данных? В Java в пакете java.util.concurrent.atomic Содержит такие классы, как AtomicBoolean, AtomicInteger, AtomicLong, AtomicReference, AtomicLongArray … и т. Д. эти классы называются атомарными типами данных . Эти классы имеют такие методы, как get (), set (int value), lazySet (int..

Учебник по параллельному программированию II: многопроцессорность и многопоточность
В Части I этой серии мы познакомились с основами параллельного аппаратного и программного обеспечения на самом базовом уровне. В нем говорилось о том, как параллельное программирование связано с одновременным выполнением нескольких вычислений и как это обеспечивается параллельным оборудованием. В этом посте, основанном на этих концепциях, говорится о наиболее распространенных парадигмах многоядерного программирования - многопроцессорность и многопоточность. Для этого мы представим..

Core.async Clojure - как мы его используем
Одной из наиболее веских причин для создания программного обеспечения на JVM является превосходная поддержка Java для параллельного программирования. Книга Брайана Гетца Java Concurrency in Practice широко считается одной из лучших книг по параллельному программированию и обязательна к прочтению для Java-программистов. Но с развитием функционального программирования и ростом популярности таких языков, как Erlang, Scala, Go и, конечно же, Clojure, на первый план вышли новые модели..