我在用golang做一个股票数据存储的一个demo,用socket读取字节数据,然后就进行拆包解析,当利用goroutine惊喜数据分发处理时,字节数据会解析出乱码,而同步就不会,这让我很困扰,我觉得应该是应该和并发数据安全性有关系,然后又利用channel通道来传递数据发现效果还是一样
,代码如下
主函数 socket和redis连接
![微信截图_20180817140256.png](https://static.studygolang.com/180817/856be047966f6c8b6438451272d5b368.png)
数据接收函数
![微信截图_20180817161016.png](https://static.studygolang.com/180817/8f5407b3476bfb406c2cf508bb950d4f.png)
数据分发并解析函数
![微信截图_20180817161031.png](https://static.studygolang.com/180817/0e37191ab4e966d110bb970c2f25f206.png)
我这样处理是不是缺少应用了默写golang的机制呢?有没有什么解决办法?
最后说一句,golang的处理速度真的快,同步处理都比之前用.net异步处理还要快的多
代码在这里 https://github.com/liusiming0001/stocksocket
有疑问加站长微信联系(非本文作者)