In the pre–Microsoft .NET world, Visual Basic developers had to jump through extraordinary hurdles to use threads and often wound up with corrupted data or a crashed integrated development environment (IDE) for their trouble. In Microsoft Visual Basic .NET, working with threads is as easy as creating an object and calling a method. However, multithreading safely and efficiently isn’t as straightforward.
This chapter presents a few basic patterns that can help you design a robust multithreading framework. You’ll see basic recipes for calling a method asynchronously through a delegate (recipes Call Any Method Asynchronously with a Delegate to Use a Callback with an Asynchronous Call) and with the Thread class (recipes