Top community members
All Wiki Articles Create Wiki Article

Welcome to Dirask IT community! ❤ 💻
We are community that shares solutions with each other.

If you think you have something to add here.

you are welcome with your fresh ideas - List Articles

C#/.NET - interrupt thread

0 contributions
6 points

It is possible to break blocking operations (which change thread state to WaitSleepJoin) executed in some thread with Thread.Interrupt method.

Thread.Interrupt method example.

using System;
using System.Threading;

namespace Test
{
	class Program
	{
		static void Main(string[] args)
		{
			Thread thread = new Thread(() =>
			{
				DateTime t1 = DateTime.Now;

				try
				{
					Thread.Sleep(3000);
				}
				catch(ThreadInterruptedException)
				{
					TimeSpan dt = DateTime.Now - t1;

					Console.WriteLine("Thread interrupted after " + dt.TotalMilliseconds + " ms.");
				}
			});

			thread.Start();
			Thread.Sleep(1000);
			thread.Interrupt();
		}
	}
}

Output:

Thread interrupted after 1003.6518 ms.
Note: One interrupt method breaks one blocked method.

References:

  1. Thread.Interrupt Method - Microsoft Docs
0 contributions

Checkout latest Findings & News:

Checkout latest questions:

Checkout latest wiki articles:

Hey 👋
Would you like to know what we do?
  • Dirask is IT community, where we share coding knowledge and help each other to solve coding problems.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.
Read more