回答編集履歴

2

フィールドをprivateに変更。それ以外はこのままにしておきます。

2021/12/13 17:50

投稿

xebme
xebme

スコア1083

test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  private final Deque<Thread> tqueue = new LinkedList<>();
56
56
 
57
- int numThreads = 0;
57
+ private int numThreads = 0;
58
58
 
59
59
 
60
60
 

1

誤字を修正

2021/12/13 17:49

投稿

xebme
xebme

スコア1083

test CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- まだスレッドを利用する行処理の理解ができていません。
5
+ まだスレッドを利用する行処理の理解ができていません。
6
-
7
-
8
-
6
+
7
+
8
+
9
- - lockオブジェクトが2つのスレッドで別々に生成されているので意味がありません。
9
+ - lockオブジェクトが2つのスレッドで別々に生成されているので排他制御できません。
10
-
10
+
11
- - スレッドのスケジューリングは交互ではありません。次にどのスレッドが動くかは予想できないのです。
11
+ - スレッドの実行は交互ではありません。次にどのスレッドが動くかは予想できないのです。
12
12
 
13
13
 
14
14
 
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- 交互に動かしたいなら、[java.util.concurrent.CyclicBarrier](https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/util/concurrent/CyclicBarrier.html)を使うか、スケジューラを自作します。ここではスケジューラを自作してみまし
19
+ 交互に動かしたいなら、[java.util.concurrent.CyclicBarrier](https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/util/concurrent/CyclicBarrier.html)を使うか、スケジューラを自作します。ここではスケジューラを自作してみましょう
20
20
 
21
21
 
22
22