For many years, maximum computer performance was limited largely by the speed of a single microprocessor at the heart of the computer. As the speed of individual processors started reaching their practical limits, however, designers switched to multicore designs, which let the computer perform multiple tasks simultaneously. Of course, software plays a crucial role in keeping each core in a multicore machine busy. This is where concurrency plays a role.
This chapter introduces the concept of concurrency and its effects on application design. You do not have to understand the implementation details of threads to read this chapter. The purpose of this chapter is to get you thinking about whether concurrency (and threading) is an appropriate tool for you to use in your application.
About Concurrency
Terminology
Mac OS X Support
Design Considerations
Design Tips
Last updated: 2008-02-08