using System;
using System.Threading;
using System.Threading.Tasks;
public class Program
{
public static void Main()
Task t = Task.Run(() => {
Thread.Sleep(1000); // fake lock
Console.WriteLine("should not run");
});
t.Wait(500);
Console.WriteLine("end");
Thread.Sleep(2000);
}