当然,如果做的是大型项目,不希望程序异常中断后,队列中的数据丢失;或者是多进程间共享这些数据,那你需要有专门的缓存服务,memcached或者redis之类的吧。
使用队列Queue,然后有专门的线程,从Queue中读数据并向文件中写入
谢谢,我想问一下,我用udpclient.receive来接收很多机器发过来的udp数据包。那么是应该这样写吗: UdpClient udpClient = new UdpClient(11010); IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, 0); byte[] buff = udpClient.Receive(ref ipEndPoint);
UdpClient udpClient = new UdpClient(11010); IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, 0); byte[] buff = udpClient.Receive(ref ipEndPoint);
一个线程读取数据,入队列。(出队入队需加锁) 另外一个线程从队列读取数据。 注意: 数据接收线程判断 网络有数据 就一直接收入队。 数据处理线程判断 队列中有数据,就一直读取处理。
111,097
社区成员
642,554
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧