This recipe will describe how to implement a timeout for thread pool operations and how to wait properly on a thread pool.
To step into this recipe, you will need Visual Studio 2015. There are no other prerequisites. The source code for this recipe can be found at BookSamples\Chapter3\Recipe5
.
To learn how to implement a timeout and how to wait properly on a thread pool, perform the following steps:
Start Visual Studio 2015. Create a new C# console application project.
In the
Program.cs
file, add the followingusing
directives:using System; using System.Threading; using static System.Console; using static System.Threading.Thread;
Add the following code snippet below the
Main
method:static void RunOperations(TimeSpan workerOperationTimeout) { using (var evt = new ManualResetEvent(false)) using (var cts = new CancellationTokenSource()) { WriteLine("Registering timeout operation..."); var worker = ThreadPool...