Threads can be a useful technique in many circumstances, but they can be somewhat problematic to code and debug. This is particularly true when we use sophisticated synchronization methods to achieve correct results.
In the next chapter, we move away from a discussion of the programming technique back to a task-oriented topic. We'll discuss the use of Ruby for everyday scripting and system administration tasks.