InfoQ Homepage Concurrency Content on InfoQ
-
Swift Aims to Become a Data Race-Free Concurrent Language
The Swift team has published its roadmap to improve concurrency support in Swift. In a first phase, Swift will gain the async syntax and actors, while in a second phase focus will be on eliminating data races and deadlocks.
-
Swift Atomics Enables First-Class Atomic Operations in Swift
Swift Atomics aims to allow system programmers to write synchronization constructs directly in Swift.
-
Rewriting Dropbox Sync with Confidence Thanks to a Robust Test Strategy
Over the last few years, Dropbox engineers have rewritten their client-side sync engine from scratch. This would not have been possible had they not defined a clear testing strategy to allow them to build and ship the new engine through a quick release cycle, writes Dropbox engineer Isaac Goldberg.
-
Modern Android App Architecture with JetPack and Dropbox Store
Dropbox recently took ownership of the open-source Store library to revamp it and bring it closer to the current Android developer ecosystem. Originally developed at the New York Times, Store has been rewritten in Kotlin on the foundations provided by Coroutines and Flow. Along with Google´s JetPack collection of libraries, Dropbox Store provides a solution to create modern Android apps.
-
Interfacing Elixir with Rust to Improve Performance: Discord's Story
When the Discord team hit a hard-limit on BEAM's performance dealing with large data structures, they resorted to interfacing Elixir with Rust to make their system able to scale up to 11 million concurrent users.
-
WorkerDOM Adds DOM Concurrency for JavaScript Programming
The big news at this year's JSConf was the introduction of WorkerDOM, a JavaScript library to make the DOM available to Web Workers, allowing developers to leverage multi-core processor architectures to improve web performance.
-
Facebook Open-Sources RacerD - Java Race Condition Detector
Facebook’s open-source static analysis tool, Infer, now ships with support for detecting race conditions in Java code via RacerD.
-
QCon New York 2017: The Ordering of Events in Systems
Kavya Joshi, software engineer at Samsara, explored in detail the happens-before principal at QCon New York 2017. She explained how the distributed key-value store, Riak, uses vector clocks to establish causality across nodes. She also looked at concurrency primitives in Go, explaining how they happens-before constraints naturally.
-
Concurrent and Distributed Programming in the Future
The world is concurrent with everything around us asynchronous and event oriented. Concurrency and the cloud are things every developer will have to deal with in the future, Joe Duffy claimed in his keynote at the recent QCon London conference. At the heart of this is communication, which is essential both for concurrent and distributed systems.
-
Google Solves CPython’s Concurrency Issues with Grumpy
Google has solved the concurrency limitations introduced by the Global Interpreter Lock existent in CPython by creating a new Python runtime in Go.
-
Building Better Swift Apps Using Value Types
At WWDC 2015, Apple engineers Doug Gregor and Bill Dudney reviewed Swift’s support for value types and explained how it can be used to build better apps by providing a flexible approach to immutability.
-
Contemplate ThreadSafe Introduces Deadlock Detection
Contemplate's ThreadSafe version 1.3.1 featuring a new deadlock detection rule for finding code that can deadlock because of the order that locks are acquired is now available. When deadlocks are detected, ThreadSafe reports which locks are held for each lock acquisition.
-
Facebook Open-sources Haxl: Implicit, Concurrent Data Access Using Haskell
Facebook has open-sourced Haxl, a library for efficient, concurrent data-access. The library leverages the traditional strengths of Haskell such as expressive type system, correctness and safety guarantees, as well as GHC's high performance run-time to solve the thorny issue of implicit, concurrent data access.
-
Akka Toolkit 2.3 with Java 8 and Persistence Support
Latest version of the Akka toolkit, an implementation of Actor Model, comes with persistence enabling stateful actors to persist their internal state, together with support for Java 8 lambda expressions.
-
Rust 0.9 Released With Revised Threading Model
The Rust team has released the latest version of its next generation programming language. New in this release is a redesigned threading system and several refinements as the language moves towards its 1.0 release.