使用c#处理套接字读取和写入数据库的最佳方法

时间:2012-07-03 14:27:00

标签: c# multithreading tcplistener

我编写了一个c#代码来监听端口(使用TCP Listener)并将数据写入数据库(SQL server)。我目前的方法涉及以下方面:

  • 新设备条目到达时创建一个线程。
  • 从流中读取数据并写入数据库。

这一切都正常,直到4-5个设备向端口发送数据。一旦超过这一点,完整的方法就会失败。

只是想知道是否有替代品。 我认为一种方法是让一组线程写入队列,另一组线程(限制为3-4)从队列中读取并写入DB。

1 个答案:

答案 0 :(得分:0)

我建议使用一个阻塞集合,你可以让多个线程添加数据,多个线程读取该数据。因为它阻塞了线程,在等待新数据时非常有效。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/dd267312.aspx