mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-23 20:02:22 +00:00
Merge pull request #537 from xiaoliwang/fix1
Go 1.14 调度调整,对附录中的一个特性进行补充说明
This commit is contained in:
commit
3565ae02b1
@ -146,7 +146,7 @@ func main() {
|
|||||||
|
|
||||||
## 独占CPU导致其它Goroutine饿死
|
## 独占CPU导致其它Goroutine饿死
|
||||||
|
|
||||||
Goroutine是协作式抢占调度,Goroutine本身不会主动放弃CPU:
|
Goroutine 是协作式抢占调度(Go1.14版本之前),Goroutine本身不会主动放弃CPU:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
func main() {
|
func main() {
|
||||||
@ -197,6 +197,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Go1.14 版本引入基于系统信号的异步抢占调度,可以避免 Goroutine 饿死的情况。
|
||||||
|
|
||||||
## 不同Goroutine之间不满足顺序一致性内存模型
|
## 不同Goroutine之间不满足顺序一致性内存模型
|
||||||
|
|
||||||
因为在不同的Goroutine,main函数中无法保证能打印出`hello, world`:
|
因为在不同的Goroutine,main函数中无法保证能打印出`hello, world`:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user