首页 > 编程语言 > 详细

C#线程同步SemaphoreSlim类介绍

时间:2020-03-28 15:46:01      阅读:50      评论:0      收藏:0      [点我收藏+]

SemaphoreSlim类限制了同时访问一个资源的线程数量

代码如下:

 1   static SemaphoreSlim semaphoreSlim = new SemaphoreSlim(4);
 2 
 3         static void AccessDatabase(string name, int seconds)
 4         {
 5             Console.WriteLine($"{name}等待访问数据库");
 6             semaphoreSlim.Wait();
 7             Console.WriteLine($"{name}被授权访问数据库");
 8             Thread.Sleep(TimeSpan.FromSeconds(seconds));
 9             Console.WriteLine($"{name}访问数据库已经完成");
10             semaphoreSlim.Release();
11         }
12 
13         static void Main(string[] args)
14         {
15             for (int i = 1; i <= 6; i++)
16             {
17                 string threadName = $"线程{i}";
18                 int secondsToWait = 2 + 2 * i;
19                 var t = new Thread(() => AccessDatabase(threadName, secondsToWait));
20                 t.Start();
21             }
22             Console.ReadLine();
23         }

运行结果:

技术分享图片

 

C#线程同步SemaphoreSlim类介绍

原文:https://www.cnblogs.com/yangda/p/12587345.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!