Skip to Main Content
C# Cookbook, 2nd Edition
book

C# Cookbook, 2nd Edition

by Jay Hilyard, Stephen Teilhet
January 2006
Intermediate to advanced content levelIntermediate to advanced
1184 pages
43h 23m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook, 2nd Edition
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
1032
|
Chapter 18: Threading and Synchronization
is available or if the request for a new thread will have to be queued. Basically, you
want to know whether a thread is available for immediate use from the thread pool.
Solution
Use the ThreadPool.GetAvailableThreads method to get the number of worker
threads currently available in the
ThreadPool. This allows you to determine whether
you should queue another request to launch a thread via
ThreadPool.QueueUserWorkItem
or should take an alternate action.
The
Main method shown here calls a method (SpawnManyThreads) to spawn lots of
threads from the
ThreadPool, then waits for a bit to simulate processing:
public class TestThreads
{
public static void Run( )
{
SpawnManyThreads( );
// Have to wait here or the background threads in the thread
// pool would not run before the main thread exits.
Console.WriteLine("Main Thread waiting to complete...");
Thread.Sleep(2000);
Console.WriteLine("Main Thread completing...");
}
The SpawnManyThreads method launches threads and pauses between each launch to
allow the
ThreadPool to register the request and act upon it. The isThreadAvailable
method is called with the parameter set to true to determine whether there is a
worker thread available for use in the
ThreadPool:
public static bool SpawnManyThreads( )
{
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard
C# Cookbook

C# Cookbook

Joe Mayo
Head First C#, 4th Edition

Head First C#, 4th Edition

Andrew Stellman, Jennifer Greene

Publisher Resources

ISBN: 0596100639Supplemental ContentCatalog PageErrata