teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/11/17 11:48

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -22,4 +22,33 @@
22
22
  Console.WriteLine (i + " end");
23
23
  }
24
24
  }
25
+ ```
26
+
27
+ ---
28
+
29
+ > BクラスにSemaphoreSlimなり使う方法
30
+
31
+ ```C#
32
+ using System;
33
+ using System.Threading.Tasks;
34
+
35
+ class A {
36
+ static void Main () {
37
+ B b = new B ();
38
+ b.Print (1);
39
+ b.Print (2);
40
+ Console.ReadLine ();
41
+ }
42
+ }
43
+
44
+ class B {
45
+ private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(1, 1);
46
+ public async Task Print (int i) {
47
+ await _semaphore.WaitAsync();
48
+ Console.WriteLine (i + " start");
49
+ await Task.Delay (4000);
50
+ Console.WriteLine (i + " end");
51
+ _semaphore.Release();
52
+ }
53
+ }
25
54
  ```