回答編集履歴
3
元のコードでも戻り値がある場合もミューテックスがリリースされていたので戻した。
test
CHANGED
@@ -144,18 +144,16 @@
|
|
144
144
|
|
145
145
|
var result = func(arg);
|
146
146
|
|
147
|
+
return result;
|
148
|
+
|
149
|
+
}
|
150
|
+
|
151
|
+
finally
|
152
|
+
|
153
|
+
{
|
154
|
+
|
147
155
|
mutex.ReleaseMutex();
|
148
156
|
|
149
|
-
return result;
|
150
|
-
|
151
|
-
}
|
152
|
-
|
153
|
-
finally
|
154
|
-
|
155
|
-
{
|
156
|
-
|
157
|
-
mutex.ReleaseMutex();
|
158
|
-
|
159
157
|
}
|
160
158
|
|
161
159
|
}
|
@@ -201,3 +199,9 @@
|
|
201
199
|
追記
|
202
200
|
|
203
201
|
返り値がある場合ミューテックスがリリースされてない状態だったので修正。
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
追追記
|
206
|
+
|
207
|
+
returnがあってもミューテックスはリリースされるのでもう一度修正。
|
2
返り値がある場合ミューテックスがリリースされてない状態だったので修正。
test
CHANGED
@@ -144,6 +144,8 @@
|
|
144
144
|
|
145
145
|
var result = func(arg);
|
146
146
|
|
147
|
+
mutex.ReleaseMutex();
|
148
|
+
|
147
149
|
return result;
|
148
150
|
|
149
151
|
}
|
@@ -193,3 +195,9 @@
|
|
193
195
|
}
|
194
196
|
|
195
197
|
```
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
追記
|
202
|
+
|
203
|
+
返り値がある場合ミューテックスがリリースされてない状態だったので修正。
|
1
ReadWriteClassのmutexが残っていたので削除
test
CHANGED
@@ -27,8 +27,6 @@
|
|
27
27
|
public class ReadWriteClass
|
28
28
|
|
29
29
|
{
|
30
|
-
|
31
|
-
private static Mutex mutex = new Mutex(false, "sample");
|
32
30
|
|
33
31
|
public T GetData<T>(string path)
|
34
32
|
|