zoukankan      html  css  js  c++  java
  • 一个会引起死锁的C#程序

    写了个会引起死锁的C#程序,帮助理解死锁的含义:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading;

    namespace @lock
    {
        
    class Program
        {
            
    public static object lock_A = new object();
            
    public static object lock_B = new object();
            
    public void DoSomething()
            {
               
                
    lock (lock_A)
                {
                    Thread.Sleep(
    500);
                    Console.WriteLine(
    "我是lock_A,我想要lock_B");
                    
    lock (lock_B)
                    {
                        Console.WriteLine(
    "没出现这句话表示死锁了");
                    }
                }
            }

            
    static void Main()
            {
                Program a 
    = new Program();
                Thread th 
    = new Thread(new ThreadStart(a.DoSomething));
                th.Start();

                
    lock (lock_B) 
                {

                    Console.WriteLine(
    "我是lock_B,我想要lock_A");
                    
    lock (lock_A)
                    {
                        Console.WriteLine(
    "没出现这句话表示死锁了");
                    }
                }

                Console.WriteLine(
    "没出现这句话表示死锁了");
            } 

        }
    }
  • 相关阅读:
    【总结整理】javascript的函数在if中调用时是否加括号---与.net的不同之处
    【总结整理】javascript的函数调用时是否加括号
    【总结整理】JavaScript的DOM事件学习(慕课网)
    关于overflow:hidden (转)
    CSS
    HTML
    jQuery
    函数
    装饰器
    python的条件与循环1
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/1581889.html
Copyright © 2011-2022 走看看