Trendy Concurrency in Swift |


Grasp Swift’s new concurrency mannequin!

For years, writing highly effective and secure concurrent apps with Swift might simply flip into a frightening activity, stuffed with race situations and unexplained crashes hidden in a large nesting of callback closures.

In Swift 5.5, Apple launched a brand new concurrency mannequin that includes the async/await syntax, to allow you to write asynchronous code that reads like synchronous code. However like several new characteristic, right here be dragons! So how will you obtain the much-desired mastery of Trendy Swift Concurrency?

Trendy Concurrency in Swift is right here for the rescue, showcasing every part you could find out about async/await, duties, actors, and every part in between!

Earlier than You Start

This part tells you just a few issues you could know earlier than you get began, equivalent to what you’ll want for {hardware} and software program, the place to search out the venture information for this guide, and extra.

Part I: Trendy Concurrency in Swift

Get to know the trendy Swift concurrency mannequin, then take a deep dive into async code by engaged on a real-time inventory buying and selling venture.

Go into extra element about how the async/await syntax and the cooperative asynchronous execution work. Moreover, it introduces the utilization of “async let” to design concurrent code and the “Activity” kind which encapsulates asynchronous execution within the fashionable concurrency mannequin.

Work with async sequences in additional element, proxying Mix to async/await code and managing async duties.

Create customized asynchronous sequences by leveraging AsyncStream, which helps you to wrap current asynchronous work in your app as an asynchronous sequence with out breaking a sweat.

Study continuations, that are a method to manually handle suspended capabilities. You may use them to bridge between current non-async/await code and fashionable, concurrent APIs.

Develop an asynchronous testing infrastructure and study all of the ins-and-outs of testing asynchronous code within the new concurrency mannequin. You may wrap up by including unit checks to the Blabber venture you labored on in earlier chapters.

Create dynamic concurrency with Activity Teams, which allow you to run an arbitrary variety of duties concurrently and affords a pure sequence interface to entry and iterate over the outcomes of these duties.

Actor is the brand new Swift kind that transparently protects its mutable state from knowledge races in a synchronized container, making concurrent programming a lot safer.

Now that you recognize actors, you will study a particular subset of them — world actors, which permit simple and secure entry to shared assets from anyplace in your app.

Create a distributed system that makes use of actors to execute concurrent duties on a number of units over the native community.