Shape Shape point chapter-list Shape Shape Copy 12 Shape Shape Copy 3 Shape Shape dropdown editor editor Combined Shape grid Shape Copy 4 Shape Copy 7 Shape language language Shape megaphone paperback Shape platform noun_419259-2 copy play-icon BS-Question-Rounded-Circle quotes noun_610406 stacked-books-1 stacked-books-2
New

Concurrency by Tutorials

$29.99 $39.99 5/5 1 review · Write a Review
  • Platform iOS 12
  • Language Swift 4.2
  • Editor Xcode 10

The book that teaches you everything there is to know about how to write performant and concurrent code for your iOS apps.

Note: This book is in Early Access. You’ll get advance access to the book while it’s in development, and you’ll get a free update to the complete digital edition of the book when it’s complete!

Estimated final release date: Fall 2019.

Developer Guide

Intermediate

For Intermediate Developers

Dive Into Concurrency in Your iOS Apps!

Learn what is Concurrency and why would you even want to utilize it in your apps? Learn about Grand Central Dispatch, Apple's implementation of C's libdispatch, also known as GCD, as it's one of the simplest ways to queue up tasks to be run in parallel. Then, take on Operations & Operation Queues for when GCD doesn't quite cut it; you'll learn how to further customize and reuse your concurrent work. You'll then learn common concurrency problems that you could face while developing concurrent applications, such as Race Conditions, Deadlocks, and more. Finally, understand threads and thread sanitizer and the various threading-related concepts and how these connect to the knowledge you've accumulated throughout this book. You'll also learn how to use Thread Sanitizer to ease your debugging when things go wrong.

Table of Contents

Section 1: Getting Started with Concurrency

1.

Introduction - New

Get a quick overview of what concurrency is and why you might want to use it.

2.

GCD vs. Operations - New

Concurrency can be handled by either Grand Central Dispatch (GCD) or Operations. Learn about the differences.

Section II: Grand Central Dispatch

3.

Queues & Threads - New

This chapter teaches you how to use a GCD queue to offload work from the main thread. You'll also learn what a "thread" is.

4.

Groups & Semaphores - New

In the previous chapter you learned about how queues work. In this chapter you'll expand that knowledge to learn how to submit multiple tasks to a queue which need to run together as a "group" so that you can be notified when they have all completed. You'll also learn how to wrap an existing API so that you can call it asynchronously.

5.

Concurrency Problems - New

By now you know how GCD can make your app so much faster. This chapter will show you some of the dangers of concurrency if you're not careful, and how to avoid them.

Section III: Operations

6.

Operations - New

In this chapter you'll switch gears and start learning about the Operations class, which allows for much more powerful control over your concurrent tasks.

7.

Operation Queues - New

Similar to the Dispatch Queues you learned about back in Chapter 3, the Operation class uses an OperationQueue to perform a similar function.

8.

Asynchronous Operations - New

Now that you can create an Operation and submit it to a queue, you'll learn how to make the operation itself asynchronous. While not something you'll do regularly, it's important to know that it's possible.

9.

Operation Dependencies - New

The "killer feature" of Operations is being able to tell the OS that one operation is dependent on another and shouldn't being until the dependency has finished.

10.

Canceling Operations - New

There are times when you need to stop an operation that is running, or has yet to start. This chapter will teach you the concepts that you need to be aware of to support cancelation.

Section IV: Real-Life Concurrency

11.

Core Data - Coming Soon

Core Data works well with concurrency as long as you keep a few simple rules in mind. This chapter will teach you how to make sure that your Core Data app is able to handle concurrency properly.

12.

Thread Sanitizer - Coming Soon

Data races occur when multiple threads access the same memory without synchronization and at least one access is a write. This chapter will teach you how to use Apple's Thread Sanitizer to detect data races.

Meet the authors

Average Rating

5 /5

Leave a review for this product

1 review

Concurrency by Tutorials

The book that teaches you everything there is to know about how to write performant and concurrent code for your iOS apps.

Note: This book is in Early Access. You’ll get advance access to the book while it’s in development, and you’ll get a free update to the complete digital edition of the book when it’s complete!

Estimated final release date: Fall 2019.

Top