Awesome
Concurrency by Tutorials
Projects, playgrounds, and other materials made while following along with the Ray Wenderlich book "Concurrency by Tutorials".
Contents
-
- How to use a GCD queue to offload work from the main thread.
- What is a thread? And, perhaps more importantly, how do we operate with them in the context of Apple platforms?
-
Chapter 4: Groups & Semaphores
- How to submit multiple tasks to a queue, which need to run together as a "group" so that we can be notified when they have all completed.
- Wrapping an existing API so that it can be called asynchronously.
-
Chapter 5: Concurrency Problems
- Some of the common pitfalls encountered while executing concurrent tasks.
-
- Utilizing the
Operation
class to gain more powerful control over concurrent tasks.
- Utilizing the
-
- Similar to Dispatch Queues, but for
Operation
instances.
- Similar to Dispatch Queues, but for
-
Chapter 8: Asynchronous Operations
- Making operations themselves asynchronous now that we can submit them to Operation Queues.
-
Chapter 9: Operation Dependencies
- The "killer feature" of
Operation
s is being able to tell the OS that one operation is dependant on another and shouldn't being until the dependency has finished.
- The "killer feature" of
-
Chapter 10: Cancelling Operations
- Cancelling operations when they're running — or before they've even started.
-
- Core Data works well with concurrency — as long as a few specific rules are kept in mind. This chapter covers just that.
-
- Data races occur when multiple threads access the same memory without synchronization, and at least one access is a write. This chapter covers using Apple’s Thread Sanitizer to detect data races.