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(
    "没出现这句话表示死锁了");
            } 

        }
    }
  • 相关阅读:
    Java relection half
    QT学习输入与输出
    FusionCharts(基于Flash的图表工具)使用心得
    测接口遇到的坑
    创建圆
    修改对象属性
    创建直线
    ObjectArx工程配置
    Excel转PDF文件,Excel转TIF文件
    创建多段线
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/1581889.html
Copyright © 2011-2022 走看看