O'Reilly logo

Professional Swift by Michael Dippery

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

4

Concurrency in Swift

WHAT'S IN THIS CHAPTER?

  • Understanding concurrent programming
  • Understanding the process architecture on OS X and iOS
  • Designing concurrent programs
  • Using asynchronous methods and functions
  • Creating timers and threads
  • Writing programs with Grand Central Dispatch

WROX.COM CODE DOWNLOADS FOR THIS CHAPTER

You can find the wrox.com downloads for this chapter at http://www.wrox.com/go/proswift on the Download Code tab. The code for this chapter is contained in the following files:

  • async.swift
  • threads.swift
  • timers.swift
  • gcd.swift

Concurrency is the process by which a computer or individual program can perform multiple tasks simultaneously, including executing tasks or processes in the background. Modern computers have many programs running at the same time. Even “single task” operating systems such as iOS have many unseen programs running in the background, in addition to any user-facing programs that may be open. Each individual programs can run multiple actions at the same time. It is difficult and constraining to design and write iOS and OS X programs without an understanding of the concurrency primitives used by both operating systems.

This chapter introduces you to the foundations for concurrency programming used by OS X and iOS: classes such as NSTimer and NSThread, as well as libraries like Grand Central Dispatch. It also discusses the importance of concurrency, particularly in the use of asynchronous methods, in modern applications. By the end of the chapter, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required