多线程队列问题

我想实现一个功能,有两块地方,一块是接收信息,一块是写入数据库,因为数据库那边网络限制,跟不上信息并发的时候的速度,所以我想能不能用过队列,然后接收信息的时候写到队列,然后队列依次写入数据库,想边添加到队列,边执行队列,求解决方案,代码怎么写,谢谢
已邀请:

hua

赞同来自: 木魚

可以设置2个线程,1个公共队列
一个个线程用于接收数据,接受完了,写入到公共队列中
另一个线程用来从公共队列获取数据,写入数据库
 
queue<string> qu=new queue<string>();  //公共队列
 
线程可以用backgroundworker,但是访问公共对列的时候最好能用lock锁机制,避免访问冲突

木魚 - 伪文艺半愤青无党派人士

赞同来自:

这里有个问题,如果说数据库限制导致写入不及时并且写数据一直在写的话,那么数据只会攒越来越多的。

一杀百里

赞同来自:

有个不错的开源队列。  叫ActiveMQ  用着还挺简单的。  你可以试试

警告:追问别人请评论 回复回答 直接回答提问才可以