Добавил красивый вывод, многопоточность
Многопоточность для самых маленьких. Виртуальные потоки. Часть 2
Всем привет! Многопоточность в Java развивается очень быстро, а многие всё ещё ограничиваются обычными потоками и ключевым словом synchronized. Сегодня я хочу рассказать именно о виртуальных потоках: как с ними работать, почему они меняют подход к многопоточности и какие задачи решают лучше традиционных механизмов. Буду объяснять просто и понятно, чтобы материал был полезен как новичкам, которые только знакомятся с виртуальными потоками, так и опытным разработчикам, которые хотят понять современные практики и возможности Project Loom.
https://habr.com/ru/articles/971350/
#java #multithreading #virtual_threads #многопоточность #виртуальные_потоки #обучение_программированию
The bus deadlock in Oslo has illustrative value
#dev #programming #buses #multithreading
Java. Многопоточность для самых маленьких. Часть 1
Всем привет! Многопоточность в Java не стоит на месте, а многие до сих пор используют только synchronized и создают потоки через new Thread() . С этого дня я запускаю серию уроков по современной многопоточности: как её правильно строить, в чём преимущества новых подходов по сравнению со старыми и что из классики всё ещё стоит использовать. Постараюсь объяснять максимально просто и наглядно, чтобы уроки были полезны и стажёрам, которые только начинают разбираться в теме, и опытным разработчикам, которым интересно узнать современный стиль работы с потоками. Поехали!
https://habr.com/ru/articles/969820/
#java #multithreading #virtual_threads #concurrency #многопоточность #виртуальные_потоки #обучение #обучение_программированию
After three months of work, my presentation on the nCine multi-threaded job system is finally online.
Concurrency basics, atomics, acquire/release, false sharing, ABA, CPU topologies, ECS experiments, benchmarks & profiling.
https://encelo.github.io/nCine_JobSystem_Presentation/
#gamedev #cpp #concurrency #multithreading #ECS #nCine #GameEngine #opensource #indiegamedev
Многопоточность без боли: моя шпаргалка для собесов в Java
Всем привет!) Я работаю Senior Java Developer в одном из банков, и за последние годы мне пришлось пройти не одно собеседование, услышать десятки каверзных вопросов и потратить уйму времени на подготовку. И вот что я понял: многопоточность — это одна из самых сложных и любимых тем на Java-собеседованиях , независимо от уровня кандидата. Поэтому в этой статье я хочу помочь вам уверенно подготовиться к секции по concurrency: разберём ключевые термины, посмотрим, как это работает на практике, и дам несколько советов, которые реально помогают на собесах. Поехали!
https://habr.com/ru/articles/966892/
#java #kotlin #multithreading #многопоточность #многопоточное_программирование #собеседование #собеседование_в_it #thread #concurrency #интервью
"It's not bad old multi-tasking though. I'm not interrupting one action to take another. I'm putting reflection in the background as I always do, putting on another burst of action, & reflecting on that."
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.
I have expertise with multi-threading and concurrency issues in software. Designing for ways to do that stuff right, and identifying when legecy code is doing it wrong, and then fixing it.
I know why folks coined the term "race" to mean what it means, in software context. I get it. And it makes sense. But I've always been uncomfortable with it. Why? Because it makes it *hard* to talk about, safely, in public, when your words might be stumbled across later and taken "out of context" *especially* by a trigger-happy liberal bully, or an ethnic minority person who might be feeling sensitive.
"He is such a racist! Look at his own words!"
So I'm hoping to coin a different term and get folks to use it instead:
*malconcurrency*
Per it roots: *bad* concurrency... get it? Like malware.
Пул интерпретаторов в Python 3.14. Что, зачем и почему?
Как все знают, GIL (Global Interpreter Lock) не позволяет нескольким потокам CPython выполнять CPU-bound задачи параллельно. Глобальная блокировка интерпретатора предоставляет каждому потоку лишь небольшой интервал времени для работы. При этом планирование работы потоков (какому именно потоку из ожидающих предоставить разрешение на выполнение) осуществляется планировщиком операционной системы. Интерпретатор не является полноценным планировщиком работы потоков, он делегирует эту функцию операционной системе. GIL использует мьютексы ОС для блокировки работы потоков так, чтобы в один момент времени мог выполняться только один поток из нескольких.
🚀 #Julia #1.12 is here, and it's the most thrilling thing since we realized our microwave had a 'popcorn' button. 🎉 The "new trim feature" is bound to revolutionize your code in ways you'll never notice, and that "interactive thread" will surely transform your existential crisis into a #multithreading conundrum. 👏💻
https://julialang.org/blog/2025/10/julia-1.12-highlights/ #Release #New #Features #CodeRevolution #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
I spent the evening recreationally hunting for a race condition in a large, historically grown code base and a library used by it.
Just kidding. This wasn't recreational. The software corrupted a large dataset on import, and I need it to process the dataset. It works now, and I need to unsee the horrors I saw.
🎉 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
As Einstein famously said:
> doing the same thing repeatedly, and expecting different results is the definition of a race condition.
With #macos #tahoe is there out of the box #Multithreading for #rdatatable ? Or is there still manual compilation necessary with obscure flags? #rstats
Мониторинг Celery. Pull-модель
В этой статье рассмотрим возможность получать метрики Celery непосредственно от самих воркеров, хитрости, на которые придётся пойти, чтобы решить эту задачу, и, самое главное, какие преимущества от этого можно получить по сравнению с классическим подходом к мониторингу Celery. Также продемонстрирую небольшой Django-проект и пример его конфигурации. Особое внимание будет уделено режиму мультипроцессинга и тому, как та или иная конфигурация запуска Celery будет влиять на сложность решения.
https://habr.com/ru/companies/domclick/articles/942584/
#celery #celery_worker #celery_flower #celery_beat #metrics #multiprocessing #multithreading #monitoring
C++: Strongly Happens Before?
https://nekrozqliphort.github.io/posts/happens-b4/
#HackerNews #C++ #Happens #Before #Concurrency #Multithreading #Programming #SoftwareDevelopment
Master multi-threading fundamentals! Learn process vs threads, hardware vs software threads, hyperthreading & concurrent programming for scalable apps. https://hackernoon.com/learning-about-threads-an-essential-guide-for-developers #multithreading