Threading and Perl -- avoiding insanity and managing the clones effectively
Source: YAPC::NA 2014 on the 2014-06-24.
Speaker: David Bury
Threads in Perl adds a new dimension to program development through the asynchronous nature and multiple stories that are unfolding simultaneously. Parallelism can multiply the speeds of certain applications as well as take advantage of the increasing number of cores in modern CPUs. But nothing is free: beyond the normal bugs, understanding the runtime flow and new, randomized, and sporadic bugs are now new challenges in development and testing.
This talk details tactics to maximize the benefit and address common issues and problems based on the real life experience in developing a highly parallel and distributed software system. It also discusses ideas used to manage the inherent insanity of threads as well as effective use of your clones to handle tasks and utilize a multi-core environment.
If you've ever wondered: When to use a parallel approach? How to use shared variables and related objects effectively? How do I mock objects in Threads? What's a thread pool? Or just want to see an effective example of threads in use. This is the talk for you.