質問編集履歴
2
説明追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
|
63
63
|
|
64
64
|
|
65
|
-
unique_lockで取得したロックが解放されていないからだろうと思い、下記のようにunique_lockを中括弧 { } で囲こみ、中括弧から抜ける際に unique_lock のデストラクタが呼ばれてロックが解放されるのを期待
|
65
|
+
unique_lockで取得したロックが解放されていないからだろうと思い、下記のようにunique_lockを中括弧 { } で囲こみ、中括弧から抜ける際に unique_lock のデストラクタが呼ばれてロックが解放されるのを期待して実装しました。
|
66
66
|
|
67
67
|
```c++
|
68
68
|
|
1
質問内容変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -94,21 +94,21 @@
|
|
94
94
|
|
95
95
|
結果はビンゴでした。
|
96
96
|
|
97
|
-
ここで質問なのですがこれは問題ないのでしょうか?
|
98
97
|
|
99
|
-
ネットの情報やサンプルをいろいろ探してもこのようにしているものが見つからなかったの心配でして。
|
100
98
|
|
99
|
+
ここで質問なのですがこのように中括弧にてロックが解放されるようにしても問題ないのでしょうか?
|
100
|
+
|
101
|
-
|
101
|
+
わざわざワーカースレッドを利用しているのはjobの処理を待ちたくないから利用しているのにjobを追加する際に待っていては本末転倒でして・・・。
|
102
102
|
|
103
103
|
|
104
104
|
|
105
|
-
|
105
|
+
今書いていて思ったのですが job キューの更新中に job が追加されることがあるので危険かもしれないですね・・・。
|
106
106
|
|
107
|
-
|
107
|
+
んー、解決策が分からないです。
|
108
108
|
|
109
|
-
2つ目は、condition_variableのwait関数にはスレッドが保持しているlockを開放する機能はないのか?
|
110
109
|
|
110
|
+
|
111
|
-
と
|
111
|
+
よくあるケースだと思うのですがネットでは一歩踏み込んだ良い例が見つからずでして。
|
112
112
|
|
113
113
|
|
114
114
|
|