如果我有這樣的事情:requests := make(chan *RequestStruct, 1000 * 1000)
responses := make(chan *ResponseStruct, 1000 * 1000)如果全部requests并且responses已經(jīng)出列/消耗,那些以前存在的指針總有一天會被垃圾收集,對吧?(或者它不會因?yàn)闆]有人在頻道上將它設(shè)置為零?)
1 回答

至尊寶的傳說
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個贊
頻道在runtime/chan.go
. 從緩沖通道讀取由函數(shù)實(shí)現(xiàn)chanrecv
,它執(zhí)行以下操作:
qp := chanbuf(c, c.recvx) typedmemmove(c.elemtype, ep, qp) typedmemclr(c.elemtype, qp)
存儲在通道中的元素由 清除typedmemclr
,因此不會阻止指向的元素被垃圾回收。
- 1 回答
- 0 關(guān)注
- 80 瀏覽
添加回答
舉報
0/150
提交
取消