• 线程锁


    C#

     1  class Program
     2     {
     3         static object locker = new object();//创建锁
     4         public static int money = 0;//捐款总数
     5         static void Main(string[] args)
     6         {
     7             Thread t1 = new Thread(write);//创建一个新的线程t1(捐款人)
     8             Thread t2 = new Thread(write);
     9             t1.Start();
    10             t2.Start();
    11 
    12             Console.ReadLine();
    13         }
    14 
    15         private static void write()
    16         {         
    17             while(true)
    18             {
    19                 //掏钱,咒骂,排队等捐款人可以同时进行的事
    20                 lock (locker)//往捐款箱塞钱时,加锁。同一时刻只有一个人可以塞钱。
    21                 {
    22                     money += 100;//每人捐款100
    23                     Console.WriteLine("有人正在投币,后面的请等待。。。");
    24                     Thread.Sleep(3000);
    25                     Console.WriteLine("目前共募集"+money+"元\n");
    26                 }
    27                 //伤心、继续工作、回家、挨老婆打等可以并发的事          
    28             }      
    29         }
    30     }
  • 相关阅读:
    2020/3/12
    练习题1
    2020/3/26
    2020/3/25
    2020/3/24
    2020/3/23
    应用层
    bzoj3326[SCOI2013]数数
    HEOI2017游记
    bzoj4417[SHOI2013]超级跳马
  • 原文地址:https://www.cnblogs.com/huangjianping/p/7123281.html
Copyright © 2020-2023  润新知