#multithreading — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #multithreading, aggregated by home.social.
-
Локальное нагрузочное тестирование в Java с использованием Virtual Threads
Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять. В какой-то момент я поймал себя на мысли: А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой? Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов? Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV. Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.
https://habr.com/ru/articles/1035238/
#java #virtual_threads #multithreading #виртуальные_потоки #нагрузочное_тестирование #нагрузочное_тестрование #unittesting
-
Локальное нагрузочное тестирование в Java с использованием Virtual Threads
Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять. В какой-то момент я поймал себя на мысли: А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой? Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов? Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV. Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.
https://habr.com/ru/articles/1035238/
#java #virtual_threads #multithreading #виртуальные_потоки #нагрузочное_тестирование #нагрузочное_тестрование #unittesting
-
Локальное нагрузочное тестирование в Java с использованием Virtual Threads
Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять. В какой-то момент я поймал себя на мысли: А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой? Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов? Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV. Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.
https://habr.com/ru/articles/1035238/
#java #virtual_threads #multithreading #виртуальные_потоки #нагрузочное_тестирование #нагрузочное_тестрование #unittesting
-
Локальное нагрузочное тестирование в Java с использованием Virtual Threads
Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять. В какой-то момент я поймал себя на мысли: А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой? Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов? Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV. Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.
https://habr.com/ru/articles/1035238/
#java #virtual_threads #multithreading #виртуальные_потоки #нагрузочное_тестирование #нагрузочное_тестрование #unittesting
-
Меня раздражает, как объясняют асинхронность
Если что такое параллелизм более-менее все разработчики понимают, то объяснение асинхронности через аналогии с кассирами/поварами вредно, так как вводит в очень большое заблуждение. В данной статье я разберу эту проблему на примерах Python и Go и попробую дать свою правильную аналогию.
-
Деконструкция GO: CPU, RAM и что там происходит. Многозадачность, многопоточность, кэши, проблемы. Часть 1.2
В прошлой статье я немного слукавил, сказав, что мы будем разбирать атомики, барьеры и системные вызовы. Я пару дней поразмышлял и осознал – а зачем вообще это объяснять, если мы даже не знаем про причину их возникновения и проблемы, которые они решают В части 1.1 мы рассмотрели базовые инструкции, которые выполняет наш CPU и которыми в конечном счете и являются наши прекрасные строчки на Go. Но возникает закономерный вопрос: “Окей, мы поняли как работает на одном ядре, но Go у нас во многом про многопоточку, соответственно как это будет работать на нескольких потоках?” Если что, то это часть большого цикла по разбору Go! Данная статья – это подводка уже к тому, с чем мы имеем дело в Go достаточно часто(барьеры памяти, атомики, сисколы) В этот раз будет без Go Assembler, но с +- реальными примерами, если что-то непонятно будет, то на Хабре есть классный ИИ-помощник Многозадачность Хоть мы и развенчиваем в этом цикле абстракции, придется немного к ним вернуться. Но ненадолго! Вспоминаем, как у нас выполняются инструкции в процессоре и представляем следующую конфигурацию: Есть какое-то количество ГБ RAM Есть 1 ядро CPU Соответственно в один момент CPU может выполнять ровно 1 набор инструкций Но почему-то всё во времена одноядерных CPU работало непрерывно… На самом деле нет! Работало еще как с прерываниями(не путать с теми, которые interrupt), просто настолько быстро, что мы были неспособны это осознать, а для того, чтобы успевали работать фоновые службы, приложения и что бы то ни было ещё как раз и придумали многозадачность !
https://habr.com/ru/articles/1024868/
#assembler #go #multithreading #multitasking #race_condition #cache_contention #cpu #ram #linux
-
Деконструкция GO: CPU, RAM и что там происходит. Многозадачность, многопоточность, кэши, проблемы. Часть 1.2
В прошлой статье я немного слукавил, сказав, что мы будем разбирать атомики, барьеры и системные вызовы. Я пару дней поразмышлял и осознал – а зачем вообще это объяснять, если мы даже не знаем про причину их возникновения и проблемы, которые они решают В части 1.1 мы рассмотрели базовые инструкции, которые выполняет наш CPU и которыми в конечном счете и являются наши прекрасные строчки на Go. Но возникает закономерный вопрос: “Окей, мы поняли как работает на одном ядре, но Go у нас во многом про многопоточку, соответственно как это будет работать на нескольких потоках?” Если что, то это часть большого цикла по разбору Go! Данная статья – это подводка уже к тому, с чем мы имеем дело в Go достаточно часто(барьеры памяти, атомики, сисколы) В этот раз будет без Go Assembler, но с +- реальными примерами, если что-то непонятно будет, то на Хабре есть классный ИИ-помощник Многозадачность Хоть мы и развенчиваем в этом цикле абстракции, придется немного к ним вернуться. Но ненадолго! Вспоминаем, как у нас выполняются инструкции в процессоре и представляем следующую конфигурацию: Есть какое-то количество ГБ RAM Есть 1 ядро CPU Соответственно в один момент CPU может выполнять ровно 1 набор инструкций Но почему-то всё во времена одноядерных CPU работало непрерывно… На самом деле нет! Работало еще как с прерываниями(не путать с теми, которые interrupt), просто настолько быстро, что мы были неспособны это осознать, а для того, чтобы успевали работать фоновые службы, приложения и что бы то ни было ещё как раз и придумали многозадачность !
https://habr.com/ru/articles/1024868/
#assembler #go #multithreading #multitasking #race_condition #cache_contention #cpu #ram #linux
-
Приложение real-time face swap на чистом Rust: ONNX Runtime, lock-free потоки и 60 кадров в секунду
Большинство инструментов для замены лиц это Python-скрипты, склеенные из PyTorch, OpenCV и надежды. Они работают, но тащат за собой гигабайты зависимостей, требуют правильно настроенного CUDA и разваливаются в тот момент, когда ты пытаешься запустить их в реальном времени. Мне стало интересно: можно ли собрать весь пайплайн на чистом Rust? Без Python. Без PyTorch. Без обёрток. Один бинарник, который скачал, распаковал и запустил. Оказалось, можно. 60 fps на веб-камере. Пайплайн На каждом кадре последовательно отрабатывают четыре нейросети. RetinaFace находит лица и извлекает пять ключевых точек. ArcFace вычисляет 512-мерный эмбеддинг исходного лица. InSwapper принимает регион целевого лица и эмбеддинг источника, на выходе отдаёт заменённое лицо. GFPGAN опционально улучшает результат для более высокого качества. Все четыре модели работают через ONNX Runtime. Никаких кастомных CUDA-ядер, никакого оверхеда фреймворков. Тензор на вход, тензор на выход. Архитектура потоков Три потока, ноль блокировок на горячем пути. Поток захвата получает кадры с веб-камеры через nokhwa и публикует их через ArcSwap. Поток пайплайна подхватывает новые кадры, прогоняет инференс и публикует обработанные кадры через второй ArcSwap. Поток UI читает актуальный буфер и рендерит через egui. Никаких мьютексов на данных кадра. Никаких каналов. Никакого async. Только атомарные счётчики поколений и lock-free замена указателей. Структуры разделяемого состояния занимают ровно по 64 байта каждая и выровнены по кэш-линиям, чтобы исключить false sharing между ядрами. Это проверяется compile-time ассертами.
https://habr.com/ru/articles/1024700/
#Rust #ONNX #Machine_Learning #Computer_Vision #Face_Detection #egui #Open_Source #lockfree #multithreading #realtime
-
I want to add #multithreading in my custom language compiler.
When run it currently compiles all source files one-by-one, but I feel like I could run 3 threads and each can compile a third of the source files, similar to the "-j" argument in #make .
I don't want to deal with thread-related errors though ..
-
Под капотом многопоточной синхронизации в Java: как потоки договариваются через Mark Word
Когда вы пишете synchronized(obj), под капотом происходит целая цепочка событий, которую можно отследить до Mark Word — восьмибайтового служебного поля в каждом Java-объекте. В современных реализациях JVM (таких как HotSpot, OpenJ9, GraalVM) используется динамическая, адаптивная система, которая выбирает наиболее эффективную стратегию блокировки в зависимости от реального поведения потоков.
-
Многопоточность для самых маленьких. Виртуальные потоки. Часть 2
Всем привет! Многопоточность в Java развивается очень быстро, а многие всё ещё ограничиваются обычными потоками и ключевым словом synchronized. Сегодня я хочу рассказать именно о виртуальных потоках: как с ними работать, почему они меняют подход к многопоточности и какие задачи решают лучше традиционных механизмов. Буду объяснять просто и понятно, чтобы материал был полезен как новичкам, которые только знакомятся с виртуальными потоками, так и опытным разработчикам, которые хотят понять современные практики и возможности Project Loom.
https://habr.com/ru/articles/971350/
#java #multithreading #virtual_threads #многопоточность #виртуальные_потоки #обучение_программированию
-
Java. Многопоточность для самых маленьких. Часть 1
Всем привет! Многопоточность в Java не стоит на месте, а многие до сих пор используют только synchronized и создают потоки через new Thread() . С этого дня я запускаю серию уроков по современной многопоточности: как её правильно строить, в чём преимущества новых подходов по сравнению со старыми и что из классики всё ещё стоит использовать. Постараюсь объяснять максимально просто и наглядно, чтобы уроки были полезны и стажёрам, которые только начинают разбираться в теме, и опытным разработчикам, которым интересно узнать современный стиль работы с потоками. Поехали!
https://habr.com/ru/articles/969820/
#java #multithreading #virtual_threads #concurrency #многопоточность #виртуальные_потоки #обучение #обучение_программированию
-
Was mich etwas nervt und gleichzeitig wundert. Ich habe als PC unter Fedora 42 eine AMD Ryzen 9 5900X am laufen. Aktuell mache ich eine Datensicherung auf eine externe Festplatte und nutzte dafür in der Console den MC. Mein PC müsste sich im Grunde langweilen, aber wenn ich parallel etwas anderen erledige, dann fühlt sich mein PC an als hätte ich eine 386er CPU unter der Haube. RAM ist genug da. Ich vermute die Multithreading Fähigkeit ist nicht berauschend.
-
Пул интерпретаторов в Python 3.14. Что, зачем и почему?
Как все знают, GIL (Global Interpreter Lock) не позволяет нескольким потокам CPython выполнять CPU-bound задачи параллельно. Глобальная блокировка интерпретатора предоставляет каждому потоку лишь небольшой интервал времени для работы. При этом планирование работы потоков (какому именно потоку из ожидающих предоставить разрешение на выполнение) осуществляется планировщиком операционной системы. Интерпретатор не является полноценным планировщиком работы потоков, он делегирует эту функцию операционной системе. GIL использует мьютексы ОС для блокировки работы потоков так, чтобы в один момент времени мог выполняться только один поток из нескольких.
-
📚🔬 Behold! Another riveting tale of matrix multiplication that promises to make your brain cells do backflips. 🤸♂️🎉 Multithreaded #FP32 #optimizations that require you to sacrifice your first-born to hyperparameters just to squeeze out a few extra bytes of performance. ⚙️🛠️ And if you want the actual code, here's a hint: #sgemm.c. Happy debugging! 🖥️💥
https://salykova.github.io/gemm-cpu #matrixmultiplication #multithreading #debugging #HackerNews #ngated -
📚🔬 Behold! Another riveting tale of matrix multiplication that promises to make your brain cells do backflips. 🤸♂️🎉 Multithreaded #FP32 #optimizations that require you to sacrifice your first-born to hyperparameters just to squeeze out a few extra bytes of performance. ⚙️🛠️ And if you want the actual code, here's a hint: #sgemm.c. Happy debugging! 🖥️💥
https://salykova.github.io/gemm-cpu #matrixmultiplication #multithreading #debugging #HackerNews #ngated -
📚🔬 Behold! Another riveting tale of matrix multiplication that promises to make your brain cells do backflips. 🤸♂️🎉 Multithreaded #FP32 #optimizations that require you to sacrifice your first-born to hyperparameters just to squeeze out a few extra bytes of performance. ⚙️🛠️ And if you want the actual code, here's a hint: #sgemm.c. Happy debugging! 🖥️💥
https://salykova.github.io/gemm-cpu #matrixmultiplication #multithreading #debugging #HackerNews #ngated -
📚🔬 Behold! Another riveting tale of matrix multiplication that promises to make your brain cells do backflips. 🤸♂️🎉 Multithreaded #FP32 #optimizations that require you to sacrifice your first-born to hyperparameters just to squeeze out a few extra bytes of performance. ⚙️🛠️ And if you want the actual code, here's a hint: #sgemm.c. Happy debugging! 🖥️💥
https://salykova.github.io/gemm-cpu #matrixmultiplication #multithreading #debugging #HackerNews #ngated -
🎉 Ah, yes, 'Safepoints and #Fil-C,' because what we all needed was a deep dive into #VMGC #tech #jargon 🧠. Apparently, the unsung hero of thread races and garbage collection deserves a standing ovation for preventing our multithreaded nightmares 😴. Meanwhile, the rest of us are left wondering if we should just replace "Fil-C" with "Java" and call it a day 🍵.
https://fil-c.org/safepoints #Safepoints #multithreading #garbagecollection #HackerNews #ngated -
#Java 25 may redefine StructuredTaskScope before it goes final. Until then, developers face a moving target—with clear benefits & shifting syntax. Ron Veen outlines the state of #StructuredConcurrency.
In depth: https://javapro.io/2025/04/18/structured-concurrency/
-
Spring boot, многопоточка и магия вне хогвартса
Всем привет! Меня зовут Алексей, и я работаю Java‑разработчиком с 2018 года. В статье расскажу, как столкнулся с проблемой обработки MultipartFile в многопоточном режиме. Почему эта проблема возникает и какие решения существуют. Изначально стояла задача организовать фоновую обработку Excel-файлов: принимать файл, мгновенно возвращать клиенту HTTP-200 (без данных), а обработку содержимого выполнять асинхронно в отдельном потоке. Вроде задачка тривиальная. Делаем контроллер:
-
Async to run background function or task in C# Tip #40 Using async and Task in C# to run a background function while the main method continues executing a counter until the background task completes. #CSharp #AsyncAwait #Multithreading #Task #DotNet #BackgroundProcessing
-
Multithreading in JavaScript With Web Workers, by @honeybadger:
https://www.honeybadger.io/blog/javascript-web-workers-multithreading/
-
☠️ Oh joy, yet another tale of how #SQLite3 becomes a sardine can when you try to cram in #multitenancy with Rails! 🐟 Apparently, the author's groundbreaking revelation is that ignoring #multithreading makes your app collapse faster than my interest in reading this. 🚀
https://blog.julik.nl/2025/04/a-can-of-shardines #Rails #Issues #SardineCan #HackerNews #ngated -
#StructuredConcurrency brings order to the chaos of concurrent code. But the current #API may not survive. @ronveen reviews what works, what’s fragile - and what’s next. Is your concurrency model future-proof?
-
The case of the critical section that let multiple threads enter a block of code
https://devblogs.microsoft.com/oldnewthing/20250321-00/?p=110984
#HackerNews #criticalsection #multithreading #concurrency #coding #bestpractices #devblogs
-
#FluidX3D #CFD v3.2 is out! I've implemented the much requested #GPU summation for object force/torque; it's ~20x faster than #CPU #multithreading. 🖖😋
Horizontal sum in #OpenCL was a nice exercise - first local memory reduction and then hardware-supported atomic floating-point add in VRAM, in a single-stage kernel. Hammering atomics isn't too bad as each of the ~10-340 workgroups dispatched at a time does only a single atomic add.
Also improved volumetric #raytracing!
https://github.com/ProjectPhysX/FluidX3D/releases/tag/v3.2 -
Remember when I mentioned we had ported our #fire propagation #cellularAutomaton from #Python to #Julia, gaining performance and the ability to parallelize more easily and efficiently?
A couple of days ago we had to run another big batch of simulations and while things progressed well at the beginning, we saw the parallel threads apparently hanging one by one until the whole process sat there doing who know what.
Our initial suspicion was that we had come across some weird #JuliaLang issue with #multithreading, which seemed to be confirmed by some posts we found on the Julia forums. We tried the workarounds suggested there, to no avail. We tried a different number of threads, and this led to the hang occurring after a different percent completion. We tried restarting the simulations skipping the ones already done. It always got stuck at the same place (for the same number of threads).
So, what was the problem?
1/n
-
Логирование FreeRTOS через Virtual Com Port
Отладка встраиваемых систем с микроконтроллерами часто затруднена из-за невозможности отслеживания процессов в первые секунды после запуска прошивки. Библиотека логирования для STM32 и FreeRTOS решает эту проблему, позволяя получать детальные журналы событий с самого старта программы. Это значительно упрощает диагностику ошибок и ускоряет процесс разработки. В статье рассматриваются основные функции библиотеки, настройка интерфейсов и уровней логирования, а также её внутреннее устройство. Тестирование stm32 в Qemu в Docker
https://habr.com/ru/articles/814745/
#stm32 #freertos #multithreading #logging #library #qemu #arm #stm32cubemx #gcc #armnoneeabi
-
[sobjectizer] Что нового в SO-5.8.3 и so5extra-1.6.2?
Недавно была зафиксирована версия 5.8.3 для SObjectizer и версия 1.6.2 для сопутствующего ему проекта so5extra . В данной статье попробую рассказать о том, что и зачем появилось в новых версиях. Для тех же, кто про SObjectizer слышит впервые, очень кратко: это относительно небольшой C++17 фреймворк, который позволяет использовать в С++ программах такие подходы, как Actor Model, Publish-Subscribe и Communicating Sequential Processes (CSP). Основная идея, лежащая в основе SObjectizer, — это построение приложения из мелких сущностей-агентов, которые взаимодействуют между собой через асинхронный обмен сообщениями. Составить впечатление о SObjectizer-е и о so5extra можно вот по этим статьям: SObjectizer: что это, для чего это и почему это выглядит именно так? Взгляд из 2022-го и Краткий обзор библиотеки so5extra с дополнениями для SObjectizer-5 . Если же вы уже наслышаны про SObjectizer, то давайте взглянем на обновления. В первой части быстренько пробежимся по нововведениям в самом SObjectizer, а затем рассмотрим новинку из so5extra, которая позволяет подписываться на базовый тип сообщения и получать затем сообщения производных типов.
https://habr.com/ru/articles/855520/
#sobjectizer #cpp #c++17 #actor_model #concurrency #multithreading
-
[Перевод] Решение проблемы race condition в Kotlin корутина
Синхронизация корутин в Android имеет огромное значение для обеспечения безопасности и эффективности многопоточности. Коррутины упрощают управление асинхронными задачами, но без должной синхронизации могут возникнуть проблемы, такие как race condition, что приведет к неправильному поведению приложения.
https://habr.com/ru/articles/853266/
#coroutine #race_conditions #multithreading #mutex #semaphore
-
#LZ4 v1.10 Introduces #MultiThreading Support For Major #Compression Speedups
LZ4 1.10 has been dubbed the "multi-cores edition" with this version adding multi-threading support to help speed-up compression now that modern I/O storage with NVMe is so much faster there's a real need to make compressing data even faster.
https://www.phoronix.com/news/LZ4-1.10-Multi-Threading -
Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Сегодня хочу поговорить об одном из вариантов lock-free алгоритмов в Java. Разберём как с ним связано ключевое слово volatile и паттерн immutable .
https://habr.com/ru/companies/bercut/articles/822253/
#java #atomic #volatile #multithreading #immutable #lockfree
-
When you spent waaaaay too much time debugging and doubting your #multithreaded code because the output is garbled and you suspect a race condition or cross thread writes but it turns out the input data was broken to begin with, you just needed the multithreaded code to be able to parse it at all in a finite time-frame... 🤦
-
C++OnSea 2024 SESSION ANNOUNCEMENT: Let's Program live: Joy and Pain of Concurrency with C++11 and C++20 by Nico Josuttis
https://cpponsea.uk/2024/sessions/lets-program-live-joy-and-pain-of-concurrency-with-cpp11-and-cpp20
Register now at https://cpponsea.uk/tickets/
#multithreading #concurrency #exceptionhandling #cpp #cplusplus
-
Разработка многопоточной Базы Данных: Ключевые аспекты и примеры реализации ( C++ )
Эта статья посвящена разработке многопоточной базы данных. Мы рассмотрим основные компоненты, такие как хранилище данных, транзакционные системы, многопоточность, журналирование и восстановление, а также создание API для взаимодействия с базой данных. Примеры кода на языке C++ помогут лучше понять реализацию различных аспектов многопоточной базы данных.
-
Make Your Code Slower With Multithreading https://hackaday.com/2024/06/07/make-your-code-slower-with-multithreading/ #MULTITHREADING #SoftwareHacks #performance #profiling #spinlocks #syscall #futex #mutex #Perf+
-
Make Your Code Slower With Multithreading - With the performance of modern CPU cores plateauing recently, the main performance... - https://hackaday.com/2024/06/07/make-your-code-slower-with-multithreading/ #multithreading #softwarehacks #performance #profiling #spinlocks #syscall #futex #mutex #perf
-
C++OnSea 2024 SESSION ANNOUNCEMENT: Let's Program live: Joy and Pain of Concurrency with C++11 and C++20 by Nico Josuttis
https://cpponsea.uk/2024/sessions/lets-program-live-joy-and-pain-of-concurrency-with-cpp11-and-cpp20
Register now at https://cpponsea.uk/tickets/
#multithreading #concurrency #exceptionhandling #cpp #cplusplus
-
Malconcurrency: A Proposed New Term
https://synystron.substack.com/p/malconcurrency-a-proposed-new-termnew post on my blog. related to software engineering, programming and multi-threading
#concurrency
#raceconditions
#dataraces
#threading
#multithreading
#concurrentprogramming -
Настраиваем ExecutorService'ы под свои нужды
В этой статье хочу рассмотреть что такое ExecutorService в Java, зачем он нужен, варианты создания и в как его настраивать для решения практических задач Понимаю что есть много подобных статей, но в тех статьях что мне удалось найти не хватало практических примеров, сегодня хочу рассказать вам то, что по-настоящему пригодиться в работе Также я веду блог в телеграм , где вы сможете найти другие материалы от меня
https://habr.com/ru/articles/802113/
#java #многопоточность #executorservice #высоконагруженный #multithreading #потоки #пул_потоков #threadpool #thread #параллелизм
-
Bringing C++ to Godot with GDExtensions
After playing with Godot within its own rules, I decided to check out what is the experience of bringing in external C++ code into a Godot project through their GDExtensions system. Using it, I bring over two different implementations of toyBrot into a regular Godot project. One with C++ threads and another with OpenCL, pushing Godot being its […]
https://vilelasagna.ddns.net/coding/bringing-c-to-godot-with-gdextensions/
By: @[email protected]
#c_ #coding #GDExtensions #Godot #godotengine #GPGPU #multithreading #OpenCL -
My Best and Worst #Deadlock in #Rust - by snoyman
https://www.snoyman.com/blog/2024/01/best-worst-deadlock-rust/
Really great read! I didn't know that about `RwLock`. 🤯
-
Being able to use all cores with ease in #Go, has taught me that not all problems can be parallelized. In fact, only few algorithms are concurrent, and CPU-bound. CPU caches, instruction sets, and single-core #performance is still very relevant.
-
[Перевод] Как на самом деле Async/Await работают в C#. Часть 2 Артефакты от EAP шаблона, SynchronizationContext
Насколько я понял из комментариев к своим предыдущим статьям по этой теме: 1. Часть 1. Проблемы модели асинхронного программирования (APM) 2. Уроки по асинхронному программированию из первой половины работы 3. Параллельные вычисления — Все дело в контексте-синхронизации (SynchronizationContext) 4. Async/Await из C#. Головоломка для разработчиков компилятора и для нас и по количеству просмотров, тема все еще вызывает интерес, поэтому я хочу попробовать продолжить, но не просто перевод, а перевод С ПОЯСНЕНИЯМИ, хотя и сам перевод тоже должен отличаться от первоначального варианта , поскольку я его не читал, только по результатам, мельком, глянул пару абзацев. К тому же автор того первоначального перевода просил помощи с переводом, поэтому я надеюсь, мой вариант в чем-то сможет помочь в этом смысле или просто будет интересен с точки зрения сравнения. Потом, мне кажется, что есть несколько читателей, которым будет интересен именно мой вариант перевода, вот для них, в первую очередь, я и продолжаю писать.
https://habr.com/ru/articles/785466/
#async/await #асинхронное_программирование #паралельное_программирование #callback #threads #multithreading
-
At what point does setting more threads for OpenBLAS actually help?
For example, I have an SVD operation in #RStats on largish matrices (6000 rows and 6000 columns; doing an inverse), where default BLAS on Ubuntu is ~ 20 min.
OpenBLAS with 1 or 4 threads takes ~ 2 min (10X speedup!). With 4 threads, I can see the additional usage of cores, but overall time is the same as 1 thread.
Is there some magic size where using more threads for SVD will actually help?
-
heise+ | Effizientes Multithreading mit Python: GIL-Probleme beim Programmieren umgehen
Der Global Interpreter Lock (GIL) verhindert ein effizientes Multithreading in Python. Doch es gibt Möglichkeiten, dieses Problem zu entschärfen.
Effizientes Multithreading mit Python: GIL-Probleme beim Programmieren umgehen -
Welche Mechanismen stellt das Pico-SDK für die parallele Abarbeitung verschiedener Aufgaben durch Threads bereit und wie können sie Entwickler einsetzen?
Der vorliegende Beitrag erläutert, welche Mechanismen das Pico-SDK für die parallele Abarbeitung verschiedener Aufgaben durch Threads bereitstellt und wie sie Entwickler einsetzen können.
Des Prozessors Kern – Parallelisierung auf dem Raspberry Pi Pico mit C und C++