回答編集履歴
2
フィールドをprivateに変更。それ以外はこのままにしておきます。
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
誤字を修正
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
|
|