A thread pool supplies reusable worker threads for queued tasks. In a C# asynchronous search, tasks are queued and workers from the .NET thread pool are assigned to execute them. The application does not create a separate thread for every comic it checks. section 4.4
The thread pool is only part of the concurrency picture. HttpClient uses a separate connection pool to manage how many HTTP calls execute simultaneously. Together, these mechanisms help a search across more than 2,600 comics avoid exhausting threads or network sockets. section 4.4
Asynchronous comic search
The search creates a Task for each comic number, then waits for the checks to finish with Task.WhenAll. In the reported tests, the asynchronous search took about 1.5 seconds, compared with more than 30 seconds synchronously; that improvement is not attributed to the thread pool alone. section 4.4









