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

        }
    }
  • 相关阅读:
    poj 1733 Parity game
    poj 1456 Supermarket
    bzoj 1304 [CQOI 2009] 叶子的染色
    51Nod 1667 概率好题
    2015年阿里巴巴校招研发工程师在线笔试题汇总
    从字符串常量起说内存分配
    字符串笔面试题
    排序算法(4)-线性时间排序
    华为2015校园招聘机试
    笔画宽度变化(C++和matlab算法)
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/1581889.html
Copyright © 2011-2022 走看看