質問編集履歴
1
表現方法
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Goのsync.RWMutexのLock, RLockで
|
1
|
+
Goのsync.RWMutexのLock, RLockで期待しないブロックが起きる
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
### 質問・実際の出力
|
2
2
|
syncパッケージのRWMutexの挙動について理解が及ばないところがあります。
|
3
|
-
以下のサンプルコードを実行すると
|
3
|
+
以下のサンプルコードを実行すると、
|
4
|
-
`m.RLock()`で
|
4
|
+
`m.RLock()`の行で`fatal error: all goroutines are asleep - deadlock!`が発生してしまいます
|
5
5
|
|
6
6
|
https://play.golang.org/p/7zSKwX521IQ
|
7
7
|
```go
|
@@ -27,8 +27,8 @@
|
|
27
27
|
}
|
28
28
|
|
29
29
|
```
|
30
|
-
こちらを実行すると、`m.RLock()`の行で`fatal error: all goroutines are asleep - deadlock!`が発生してしまいます
|
31
30
|
|
31
|
+
|
32
32
|
### 期待する挙動
|
33
33
|
```
|
34
34
|
unlock 1
|