golang chan的用法
实验目的
chan相关前置知识点,请参考本文底部链接。墙裂推荐阅读。
假设系统内除了主线程之外,有四个线程connector,sender,receiver,heartbeat
connector,负责建立网络连接,在连接断开的时候进行重连
sender,负责发送数据报
receiver,负责接收数据报
heartbeat,负责监控心跳
如何启动connector
connector需要等待ConnectorNotifier,值为1连接,值为2重连
建立连接之后,发送三次ConnectorConnected,通知sender, sender,receiver可以开工
var ConnectorConnected chan int = make(chan int, 3) // 已连接通知
func connector(){
.....
// 成功之后发送三次通告
ConnectorConnectedNotifier <- 1
ConnectorConnectedNotifier <- 1
ConnectorConnectedNotifier <- 1
}
如何启动sender, receiver,以及heartbeat
等待ConnectorConnectedNotifier,收到...