My personal blog| anagogistis
Learn how to use tasks to call async/await methods from synchronous code.| iOS development by tanaschita.com
本文永久链接 – https://tonybai.com/2025/08/26/go-concurrency-cost-hierarchy 大家好,我是Tony Bai。 Go语言的并发模型以其简洁直观著称,但这种简单性背后,隐藏着一个跨越五个数量级的巨大性能鸿沟。当你的高并发服务遭遇性能瓶颈时,你是否也曾陷入“性能猜谜”的困境:是sync.Mutex太慢?是atomic操作不够快?还是某个channel的阻塞超出了预期?我们往往依赖直觉和pprof的零散线索,...| Tony Bai
I started my Apple platforms development journey a year before Grand Central Dispatch was released with iOS 4. I’ve lived through codebase migrations to NSOperation. Then through the slew of FRP frameworks (of which I consider a concurrency solution): ReactiveCocoa, ReactiveSwift, RxSwift, and finally Combine. My strategy for learning all these paradigms was best described as osmosis while encountering and solving real problems in codebases. Of course, you have to spend time setting breakpo...| twocentstudios
ShipStation API limits certain API usage to maximize stability and performance. Learn about our usage limits and how to work with them.| www.shipengine.com
Swift Concurrency introduced the concept of a global actor among async/await and tasks. The most common one is likely @MainActor, which I already explained in depth. However, you can also create custom global actors. Although they have existed for a few years, it remains unclear for many developers when and how to use them. Should … → The post Global actor in Swift Concurrency explained with code examples appeared first on SwiftLee.| SwiftLee
Many developers are migrating from Combine to Swift Concurrency. Swift Concurrency is here to stay, and Combine hasn’t received updates in recent years. While Combine is a mature framework that may not need many updates, it’s clear that the Swift team is focusing on a future with Swift Concurrency. When migrating Combine code to Swift … → The post Combine and Swift Concurrency: A threading risk appeared first on SwiftLee.| SwiftLee
Explore the difference between Threads and Tasks in Swift Concurrency and traditional threading methods. Get clarity on their usage.| SwiftLee
Learn how to use defer to handle cleanup logic in async functions.| iOS development by tanaschita.com
I was lucky enough to attend the Software Architecture Workshop in Cortina recently. It was a three day workshop based around the idea of Open Spaces, which involves handing the asylum keys to the inmates and seeing what happens. I convened a session called “What’s so hard about Event-Driven Programming?” to explore the experiences of the other delegates in designing, implementing and testing asynchronous, event- or message-driven systems. I took the position that actually it was all ve...| Dan North & Associates Limited
Learn how a Swift lock can help you create thread-safe access to data as an alternative to actors in Swift Concurrency.| SwiftLee
On one of the C programming subreddits today I saw that some people were under the impression that in order to build a mutex in C, atomic operations must be used. There’s a performance argume…| Chris Feilbach's Blog
Explore the new @concurrent attribute in Swift 6.2 and its role in Swift Concurrency for better asynchronous function handling.| SwiftLee
Discovering a JDK Race Condition, and Debugging it in 30 Minutes with Fray I’ve been adding more integration tests for Fray recently. To ensure Fray can handle different scenarios, I wrote many creative test cases. Many of them passed as expected, while some failures led to epic fixes in Fray. Then something unexpected happened: Fray threw a deadlock exception while testing the following seemingly innocent code: 1private void test() { 2 ScheduledThreadPoolExecutor executor = new ScheduledTh...| Ao Li
As we started getting closer to the release of Swift 6.0, I had this bright idea. I decided to write about every evolution proposal related to concurrency that would ship with that release. This resulted in 12 posts and let me tell you, it was a lot of work. I even cheated! I skipped one, the introduction of the Mutex type. I guess it just didn’t feel like enough of a “language change”.| massicotte.org
Discover lesser-known Tokio features like current-thread runtimes for !Send futures, seeded runtimes for deterministic tests, and paused time for precise temporal control in your Rust applications.| Pierre Zemb's Blog
Blocking occurs every time a program waits in line for something to happen. For instance, the basic Arduino “Blink” example turns the LED on and calls the delay() function to wait for a timeout event in 1000 milliseconds. Then it turns the LED off and calls delay() to wait in line for another timeout event […]| Modern Embedded Software | Quantum Leaps
Q: How big should active objects get? A: As big as possible, but not bigger.| Modern Embedded Software | Quantum Leaps
What are the main programming paradigms in embedded software? Which of them can be mixed together and which are like “oil and water”? NOTE: Embedded.fm is a weekly audio show created and hosted by Elecia White and Christopher White. The guests include makers, entrepreneurs, educators, and normal, traditional engineers. The show is a product of […]| Modern Embedded Software | Quantum Leaps
Quand j’ai vu apparaître la structured concurrency en Java, j’ai failli passer à côté. Une nouvelle API pour lancer des threads, bon. Après tout, Java avait déjà ses ExecutorService, Future, CompletableFuture… Au début, j’ai cru que la structured concurrency n’apportait que des raffinements : une manière plus propre d’orchestrer les flux synchrones et asynchrones dans l’API de concurrence existante. Mais en creusant, je me suis rendu compte que c’était beaucoup p...| Nocode functions - blog
Swift 6.2 will introduce several changes to Swift Concurrency that will make writing asynchronous code more approachble.| SwiftLee
I recently contributed a guest post on my employer’s blog about the importance of the almost-feature-complete C++26 draft standard: “Sea change in C++: Why opportunities abound” I…| Sutter’s Mill
I actually don’t get too many questions about SwiftData or Core Data. And thank goodness, because I’m not particularly familiar with either. That is, until just recently! I had the chance to work with two different projects, both of which were using SwiftData. While Core Data was introduced in 2005, this SwiftData stuff is brand new. In fact, it includes a whole bunch of Concurrency-specific features. It should be smooth sailing right?| massicotte.org
Garnet recently announced native support for ETag-based commands.| microsoft.github.io
Become an expert at Swift Concurrency using this course providing a complete guide to modern concurrency & Swift 6 migrations.| SwiftLee
Have you ever been curious about how databases work under the hood? I certainly was and decided to roll up my sleeves and implement one from scratch. In this blog series, I'll be sharing my experience implementing Bitcask in Rust and discussing some of the techniques I used to make it goes ***blazingly fast***. So if you're ready to dive deep into the world of high-performance data storage, buckle up and let's get started!| ltungv
Learn how you can use Task.sleep() and Task.yield() in Swift Concurrency. Be aware of the differences to pick the one you need.| SwiftLee
Occasionally, you’ll come across something that will really influence your thinking on a topic. This happened to me after reading a post on the Swift forums. That was nearly 6 months ago as I write, but I’m still thinking about it today.| massicotte.org
| Sutter’s Mill
With the winter ISO meeting behind us, it’s onward into spring conference season! ACCU Conference 2024. On April 17, I’ll be giving a talk on C++’s current and future evolution, where I plan to talk about safety based on my recent essay “C++ safety, in context,” and progress updates on cppfront. I’m also looking forward … Continue reading Effective Concurrency course & upcoming talks→| Sutter’s Mill
In Java and other JVM languages, “volatile” reads and writes are part of the concurrency toolbox. But adding volatile on variables can be a mistake. This is a poorly understood concept. Let’s gain a better understanding.| Alexandru Nedelcu - Blog
Yo dawg, I heard you liked concurrency primitives. Let’s implement our own asynchronous, dirty CountDownLatch.| Alexandru Nedelcu - Blog
Simple and very effective implementation of a Semaphore, used for easily parallelizing work in JavaScript/TypeScript.| Alexandru Nedelcu - Blog
The book I’m going through, Programming Interviews Exposed, presents the Dining Philosophers Problem and their solution to the problem. Firstly, their explanation for their solution is weak because they do not describe the underlying principle they applied to prevent deadlocks. Secondly, their implementation of their solution still results in starvation....| Joseph Mate
At long last, there is now a beta release of Swift 6.1! There are a few interesting things in here for those concurrency enthusiasts out there, and I wanted to go over them quickly.| massicotte.org
Concurrency is tricky| boston.conman.org
Learn how to write unit tests for async/await functions.| iOS development by tanaschita.com
Learn how to use Swift actors to prevent data races when working with concurrency.| iOS development by tanaschita.com
Learn how to integrate async/await functions into your SwiftUI views.| iOS development by tanaschita.com
Learn how use async/await for asynchronous programming.| iOS development by tanaschita.com
Learn how to call async/await functions in parallel with tasks.| iOS development by tanaschita.com
There is a section in the Swift 6 migration guide on Swift.org called “Migration Strategy”. Let me quote it here:| massicotte.org
Not too long ago, I was re-reading an “introductory” post I wrote. Honestly, I could barely make it though. I guess a big part was my own defintion of “introduction” when it comes to concurrency has been evolving. As I was reading, I kept imagining a true beginner doing the same thing. It’s embarrassing! I’m not going to remove it, but I don’t feel great about it.| massicotte.org
Learn some Kotlin basics and how to easily use coroutines to write parallelized code cleanly according to structured concurrency.| iO tech_hub
UIKit provides two diffable data source APIs, one for collections and one for tables.| Jesse Squires
Discover the latest Swift updates, from Objective-C compatibility improvements to metatype keypaths, trailing commas, and new compiler controls—plus a must-have app for tracking proposals!| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
October 07, 2024 at 19:16| eli.thegreenplace.net
Async await in Swift allows to write asynchronous tasks with structured concurrency. Maintain readability in complex code.| SwiftLee
What's new in Swift 6 and how do you migrate your projects and packages? Learn how to apply incremental migration and why you should update.| SwiftLee
If you have attempted to adopt Swift Concurrency in your codebase, you have certainly needed to address dozens — likely, hundreds — of warnings and errors. S...| Jesse Squires
Yesterday I got a strange race condition reported after I wrote some additional tests for pgzip. At first I couldn’t really work out why I was getting the race reported, and I suspected that the race detector was reporting wrong line numbers. The race reported was boiled down like this: type Writer struct { prevTail...| defer time.Sleep()
Swift 6 around the corner, Swift Backtrace APIs for improved Debugging, Improving Concurrency, a new Swift Steering Workgroup, and much more. Summarizing the best of Swift Evolution from February to April 2024.| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
This weekend I was frustrated with my debugging, and just not up to digging in and carefully, meticulously analyzing what was happening. So … I took a left turn (at Alburquerque) and decided …| Rhonabwy
A quick guide about how to configure Jetty to use Project Loom'svirtual threads instead of plain old java threads. | Michael Bien's Weblog
Project Loom introduces lightweight, JVM managed, virtual threads (old name: fibers) to java. Lets take a look how the project is progressing and see how they compare to plain old OS managed threads. | Michael Bien's Weblog
I'm sure you can chain promises with doBefore().then(() => doAfter()) and even run multiple promises in parallel using Promise.any. However, chaining an unknown count of homogenous promises is trickier. Let me teach you to serialze promises like a pro!| Vladimir Klepov as a Coder
Smoothing out some rough edges in Swift concurrency. System-level programming with low-level atomics. And many interesting new proposals linked!| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
Concurrent operations can be grouped relatively neatly into categories based on their cost| Performance Matters
Sprawl is a problem in Vermont, but citizens have begun to have some success in opposing additional low-density development.| Center for the Advancement of the Steady State Economy
A look into the implementation details of CPython's Global Interpreter Lock (GIL) and how they changed between Python 3.9 and the current development branch that will become Python 3.13.| stefan-marr.de
Oak0.2 Release: Significant Improvements to Throughput, Memory Utilization, and User Interface By Anastasia Braginsky, Sr. Research Scientist, Verizon Media Israel Creating an open source software is an ongoing and exciting process. Recently, Oak open-source library delivered a new release: Oak0.2, which summarizes a year of collaboration. Oak0.2 makes significant improvements in throughput, memory utilization, and user interface. OakMap is a highly scalable Key-Value Map that keeps all key...| Yahoo Developer Network
Guide to Concurrency in Python with Asyncio| www.integralist.co.uk
We implement Co, a small language with coroutines and channels.| abhinavsarkar.net
Michael Bien's Weblog| Michael Bien's Weblog
A recurring challenge in programming is accessing a shared resource concurrently. How to make sure the code doesn’t behave differently when multiple thread or operations tries to access the same property. In short, how to protect from a race condition?| Benoit Pasquier
-------------------------------------------------------------------------------- This post was originally published on the Flatiron Labs blog. Check it out here [https://medium.com/flatiron-labs] for more awesome content by The Flatiron School's technology team. Elixir and The Beam: How Concurrency Really Works Elixir has become famous as the shiny new “concurrent” programming language, with more| The Great Code Adventure
Using goroutines and channels, we can ensure that our program works on on more than one task in a given time period. In this post, we'll use goroutines, channels and WaitGroups to process a "bulk user registration" request.| The Great Code Adventure
In debugging a mysteriously hanging Go function recently, I learned something new about how to use WaitGroups and Channels to synchronize Go routines. Keep reading to learn more!| The Great Code Adventure