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

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