using System.Threading.Tasks;
using System.Diagnostics;
static public class Program
static private object _lock = new object();
static private TaskCompletionSource<bool> _tcs = new TaskCompletionSource<bool>();
static public void Main()
private static async Task Test()
var task = ItWillContinueInsideLock();
Console.WriteLine("Entering lock");
Console.WriteLine("Exiting lock");
private static async Task ItWillContinueInsideLock()
Console.WriteLine("I'm running inside lock");