c#2个线程,一个线程接收数据,全部存到一个大数组里面
另外一个线程从大数据里面取数据存储到数据库
调试时:一般如果接收数据快,只有接收线程,没有存储线程。。如何处理啊
线程:while(true)
{
{ExeData...}
Thread.Sleep(100)
}
接收数据函数,和存到数据库函数应该没错,只是后者速度肯定慢于前者
另外一个线程从大数据里面取数据存储到数据库
调试时:一般如果接收数据快,只有接收线程,没有存储线程。。如何处理啊
线程:while(true)
{
{ExeData...}
Thread.Sleep(100)
}
接收数据函数,和存到数据库函数应该没错,只是后者速度肯定慢于前者
收线程只管往列表里插入数据
写线程就管从列表中拿数据
在这中间弄个QueueCache,就成了。
起三thread
NO.one 只管接数据
NO.two 对接受到的数据做些逻辑的数据处理和合法性的校验
NO.three 专门做数据库操作。其他NO.two每个段时间取数组A里面取数据(必须保持数据同步性枷锁等机制),然后校验合格后放到 另个一个数组B,NO.three从B中取数据做数据库操作,实现业务逻辑与数据操作的隔离。