Following topics are covered:
- Background File Scanning
Scanning folders and files in a background thread.
How to write 'blocking' multithreaded code with a mechanism similar to .NET's `async`/`await`.
- Web Download and Database Storage
Multiple workers downloading data and storing it in a single database.
- Parallel For with Synchronized Output
Redirecting output from a parallel for loop into a structure that doesn't support multithreaded access.
- Background Worker and List Partitioning
Writing server-like background processing.
- Parallel Data Production
Multiple workers generating data and writing it into a single file.
- Building a Connection Pool
Using OmniThreadLibrary to create a pool of database connections.
- QuickSort and Parallel Max
How to sort an array and how to process an array using multiple threads.
- Parallel Search in a Tree
Finding data in a tree.
- Multiple Workers with Multiple Frames
Graphical user interface containing multiple frames where each frame is working as a frontend for a background task.
- OmniThreadLibrary and Databases
Using databases from OmniThreadLibrary.
- OmniThreadLibrary and COM/OLE
Using COM/OLE from OmniThreadLibrary.
Other changes and additions:
- Added Release Notes section.
- Fixed image sizes and line breaks in the High-level Multithreading chapter.
I will now spend few weeks finishing the Smart RTL chapter of the A Smart Book and then I’ll return to the Parallel Programming with OmniThreadLibrary. In the meantime you can express your interest in missing chapters in the poll on the right side of this blog.