草庐IT

OnPacketReceived

全部标签

去 GC 停止我的 goroutine?

我一直在尝试从更传统的语言(如Java和C)进入Go,到目前为止,我一直很享受Go提供的深思熟虑的设计选择。但是,当我开始我的第一个“真正的”项目时,我遇到了一个几乎没有人遇到过的问题。我的项目是一个发送和接收数据包的简单网络实现。一般结构是这样的(当然是简化的):客户端管理与服务器的net.Conn。此Client创建一个PacketReader和一个PacketWriter。它们都在不同的goroutine中运行无限循环。PacketReader接受一个接口(interface),其中包含一个由客户端实现的OnPacketReceived函数。PacketReader代码如下所示:

去 GC 停止我的 goroutine?

我一直在尝试从更传统的语言(如Java和C)进入Go,到目前为止,我一直很享受Go提供的深思熟虑的设计选择。但是,当我开始我的第一个“真正的”项目时,我遇到了一个几乎没有人遇到过的问题。我的项目是一个发送和接收数据包的简单网络实现。一般结构是这样的(当然是简化的):客户端管理与服务器的net.Conn。此Client创建一个PacketReader和一个PacketWriter。它们都在不同的goroutine中运行无限循环。PacketReader接受一个接口(interface),其中包含一个由客户端实现的OnPacketReceived函数。PacketReader代码如下所示: