book--concurrency-by-tutorials
book--concurrency-by-tutorials copied to clipboard
Projects, playgrounds, and other materials made while following along with the Ray Wenderlich book "Concurrency by Tutorials"
Concurrency by Tutorials
Projects, playgrounds, and other materials made while following along with the Ray Wenderlich book "Concurrency by Tutorials".
Contents
-
Chapter 3: Queues & Threads
- 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.
-
Chapter 6: Operations
- Utilizing the
Operation
class to gain more powerful control over concurrent tasks.
- Utilizing the
-
Chapter 7: Operation Queues
- 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.
-
Chapter 11: Core Data
- Core Data works well with concurrency — as long as a few specific rules are kept in mind. This chapter covers just that.
-
Chapter 12: Thread Sanitizer
- 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.