@c047ce902063
@c047ce902063 同意,有兩種情況會造成阻塞
1. chanel 沒有初始化,示例2是這種情況
2. 如果是無緩沖buffer需要一個接收對端
```go
// 情況1:chan 未初始化
var ch1 chan int
var ch2 chan int
var chs = []chan int{ch1, ch2}
var numbers = []int{1, 2, 3, 4, 5}
func SelectTest2() {
// 情況2:即使初始化也不行,因?yàn)闆]有對端
ch1 = make(chan int)
ch2 = make(chan int)
select {
case getChan(0) <- getNumber(2):
fmt.Println("1th case is selected.")
case getChan(1) <- getNumber(3):
fmt.Println("2th case is selected.")
default:
fmt.Println("default!.")
}
}
```
【golang】select關(guān)鍵字用法select是go語言中常用的一個關(guān)鍵字,其用法也一直被用作面試題來考核應(yīng)聘者。今天,結(jié)合代碼來分析下select的主要用法。 首先,我們來從官方文檔看一下有關(guān)select的...
網(wǎng)絡(luò)層的作用:實(shí)現(xiàn)主機(jī)到主機(jī)的通信服務(wù),將分組從一臺發(fā)送主機(jī)移動到一臺接收主機(jī)。 網(wǎng)絡(luò)層重要的兩大概念:轉(zhuǎn)發(fā)和路由選擇 1、轉(zhuǎn)發(fā)涉及分組在單一的路由器中從一條入鏈路到一條出鏈...
本章面對的兩個計算機(jī)網(wǎng)基礎(chǔ)性問題 1、 兩個實(shí)體如何才能在一種會丟失或損壞數(shù)據(jù)的媒體上可靠地通信2、 如何控制運(yùn)輸層實(shí)體的傳輸速率以避免網(wǎng)絡(luò)擁塞,或從擁塞中恢復(fù)過來 運(yùn)輸層協(xié)...
作者總結(jié)的很好配合上課的ppt看收貨很大,謝謝作者。
《計算機(jī)網(wǎng)絡(luò)-自頂向下方法》第三章-運(yùn)輸層 要點(diǎn)本章面對的兩個計算機(jī)網(wǎng)基礎(chǔ)性問題 1、 兩個實(shí)體如何才能在一種會丟失或損壞數(shù)據(jù)的媒體上可靠地通信2、 如何控制運(yùn)輸層實(shí)體的傳輸速率以避免網(wǎng)絡(luò)擁塞,或從擁塞中恢復(fù)過來 運(yùn)輸層協(xié)...
支持作者
《TCP/IP詳解 卷1:協(xié)議》筆記前言首先,我已經(jīng)讀了好幾本關(guān)于計算機(jī)網(wǎng)絡(luò)的書,如謝希仁的《計算機(jī)網(wǎng)絡(luò)》,James F.Kurose的《計算機(jī)網(wǎng)絡(luò) 自頂向下方法》。嚴(yán)格意義上,兩者都沒有完全讀完。只是粗略過了一...