Skip to content

Commit

Permalink
[ch1-basic ch1-05-1.5.4] Manage goroutines using sync.WaitGroup
Browse files Browse the repository at this point in the history
  • Loading branch information
khangpt3 committed Nov 21, 2022
1 parent 0eee9f6 commit fe2a128
Showing 1 changed file with 23 additions and 23 deletions.
46 changes: 23 additions & 23 deletions ch1-basic/ch1-05-concurrency-parallelism.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,17 +134,17 @@ import "sync"
var wg = sync.WaitGroup{}

func main() {
// biến wg sẽ tăng lên 1
wg.Add(1)
// biến wg sẽ tăng lên 1
wg.Add(1)
// sử dụng từ khoá go để tạo goroutine
go func() {
fmt.Println("Hello from another goroutine")
// biến wg sẽ giảm đi 1
wg.Done()
}()

// goroutine hiện tại (main goroutine) sẽ dừng lại để đợi đến khi biến wg có giá trị bằng 0 thì mới tiếp tục
wg.Wait()
go func() {
fmt.Println("Hello from another goroutine")
// biến wg sẽ giảm đi 1
wg.Done()
}()

// goroutine hiện tại (main goroutine) sẽ dừng lại để đợi đến khi biến wg có giá trị bằng 0 thì mới tiếp tục
wg.Wait()
fmt.Println("Hello from main goroutine")
}
```
Expand All @@ -160,18 +160,18 @@ import "sync"
var wg = sync.WaitGroup{}

func main() {
// biến wg sẽ tăng lên 1
wg.Add(1)
// biến wg sẽ tăng lên 1
wg.Add(1)
// sử dụng từ khoá go để tạo goroutine
go func() {
fmt.Println("Hello from another goroutine")
// biến wg sẽ giảm đi 1
wg.Done()
}()
go func() {
fmt.Println("Hello from another goroutine")
// biến wg sẽ giảm đi 1
wg.Done()
}()

fmt.Println("Hello from main goroutine")
// goroutine hiện tại (main goroutine) sẽ dừng lại để đợi đến khi biến wg có giá trị bằng 0 thì mới tiếp tục
wg.Wait()
// goroutine hiện tại (main goroutine) sẽ dừng lại để đợi đến khi biến wg có giá trị bằng 0 thì mới tiếp tục
wg.Wait()
}
```

Expand All @@ -188,8 +188,8 @@ import "sync"
var wg = sync.WaitGroup{}

func MyPrintln(id int) {
// biến wg sẽ tăng lên 1
wg.Add(1)
// biến wg sẽ tăng lên 1
wg.Add(1)
go func() {
fmt.Println("Xin chào, tôi là goroutine: ", id)
// biến wg sẽ giảm đi 1
Expand All @@ -202,8 +202,8 @@ func main() {
MyPrintln(i)
}

// goroutine hiện tại (main goroutine) sẽ dừng lại để đợi đến khi biến wg có giá trị bằng 0 thì mới tiếp tục
wg.Wait()
// goroutine hiện tại (main goroutine) sẽ dừng lại để đợi đến khi biến wg có giá trị bằng 0 thì mới tiếp tục
wg.Wait()
fmt.Println("Chương trình kết thúc")
}
```
Expand Down

0 comments on commit fe2a128

Please sign in to comment.