I am using .NET (C#).

if I have 2 threads running T1 and T2 and T1 is like this:

```
while (true) 
{
  dosomething(); //this is a very fast operation
  sleep(5 seconds);
}

```

at the same time T2 is doing something completely different however from time to time it needs to give T1 a kick such that it wakes up from the sleep even though the sleep time is not up. How do I do this?