by Mads Kristensen
15. January 2007 00:47
The thread pool gives you an easy and safe way for creating multithreaded applications,
and even though the stateless nature of the Internet isn’t the best place for multithreading,
it can still be the right thing to do for certain scenarios.
I’ve seen a lot of examples on how to use the thread pool and none of them takes advantage
of the Boolean return value of the QueueUserWorkItem method.
This is important because if the thread pool fails to create a new thread you will
not be notified about it. Here is a short example of a button’s click event handler
that creates a new thread to do some work.
protected void btnSave_Click(object sender, EventArgs e)
{
if (System.Threading.ThreadPool.QueueUserWorkItem(ThreadProc))
{
Response.Write("Processing
is started successfully.");
}
else
{
Response.Write("An
error occured.");
}
}
private void ThreadProc(object stateInfo)
{
DoSomething();
}
By using the Boolean return value we can now catch the failure and notify the user
or maybe try again.
* Only $4.95/month ASP.NET & Windows 2008 + IIS 7 Hosting! FREE SQL Included
a67a7e99-7c31-4d21-83b3-f8a443170c56|0|.0
Tags:
ASP.NET