zoukankan      html  css  js  c++  java
  • 死锁的例子

            static object locker1 = new object();
            static object locker2 = new object();
    
    
            static void Main(string[] args)
            {
    
                var taskList = new Task[2];
                taskList[0] = Task.Run(() =>
                {
                    Console.WriteLine("线程1 id:" + Thread.CurrentThread.ManagedThreadId);
                    Console.WriteLine("线程1准备获取锁1");
                    lock (locker1)
                    {
                        Console.WriteLine("线程1获取了锁1");
                        Thread.Sleep(3000);
    
                        Console.WriteLine("线程1准备获取锁2");
                        lock (locker2)
                        {
                            Console.WriteLine("线程1获取了锁2");
                        }
                    }
    
                });
                taskList[1] = Task.Run(() =>
                {
                    Console.WriteLine("线程2 id:" + Thread.CurrentThread.ManagedThreadId);
                    Console.WriteLine("线程2准备获取锁2");
                    lock (locker2)
                    {
                        Console.WriteLine("线程2获取了锁2");
                        Thread.Sleep(3000);
    
                        Console.WriteLine("线程2准备获取锁1");
                        lock (locker1)
                        {
                            Console.WriteLine("线程2获取了锁1");
                        }
                    }
    
                });
    
                var finished = Task.WaitAll(taskList, 1000 * 10);
                if (finished)
                {
                    Console.WriteLine("没有发生死锁");
                }
                else
                {
                    Console.WriteLine("发生了死锁");
                }
    
                Console.ReadLine();
            }
    

      

  • 相关阅读:
    网站精准查询IP
    JQuery插件模板
    SQLSERVER 数据从一张那个表复制到另一张表
    C# 取form表单的数据
    C# 判断网络文件是否存在
    C# 将文件转换为 Stream
    C# 将 Stream 写入文件
    JDBC教程
    Spring Boot教程
    JavaMail
  • 原文地址:https://www.cnblogs.com/chinasoft/p/15206517.html
Copyright © 2011-2022 走看看