Skip to content

Commit ed7e503

Browse files
committed
race condition demo update
1 parent b1407b8 commit ed7e503

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

race-condition/main.go renamed to race-condition/1000Goroutines/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"sync"
66
)
77

8-
// N 是内存里的一个数子
8+
// N 是内存里的一个对象
99
var (
1010
N = 0
1111
waitgroup sync.WaitGroup

race-condition/2Goroutines/main.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"sync"
6+
)
7+
8+
// N 是内存里的一个对象
9+
var (
10+
N = 0
11+
waitgroup sync.WaitGroup
12+
)
13+
14+
func counter(number *int) {
15+
for i := 0; i < 1000; i++ {
16+
*number++
17+
}
18+
waitgroup.Done()
19+
}
20+
21+
func main() {
22+
waitgroup.Add(2)
23+
go counter(&N)
24+
go counter(&N)
25+
26+
waitgroup.Wait()
27+
fmt.Println(N)
28+
}

0 commit comments

Comments
 (0)