Few areas of programming are more filled with myths than thread management is. Threads can become a nightmare if you take an undisciplined approach, because once you start using threads you’re immediately at the mercy of the operating system scheduler. Your thread code may suffer starvation, or you may discover inadvertently that you’ve written code that isn’t thread-safe. Or you may find that your code gets itself into a deadlock.
All of these problems can be avoided if you apply a solid design approach, which gives you all the considerable power of multithreaded code. This article has shown how a long-running, complex software upload procedure can be made responsive and asynchronous—all with just a few lines of code!
There’s absolutely no reason why you shouldn’t incorporate multithreaded code into your own efforts. It’s a powerful mechanism, and the platforms are making it easier than ever to achieve.
Additional reading: Network Management, MIBs and MPLS: Principles, Design and Implementation by Stephen B. Morris.