using System; using System.Threading; using System.Threading.Tasks; class Program { private static object syncObject = new object(); private static void Write() { lock (syncObject) { Console.WriteLine(Thread.CurrentThread.ManagedThreadId); Console.WriteLine("test"); } } static void Main(string[] args) { lock (syncObject) { Console.WriteLine(Thread.CurrentThread.ManagedThreadId); Task.Run(() => Write()); Thread.Sleep(3000); } } }