标签: multithreading c#-4.0
我正在使用X_Trader(TT api)来获取某些产品的价格,每当新产品价格出现时,我都会在线程中调用一个方法来更新/插入数据库,
new Thread(()=>{ /*call method to insert/update*/ }).Start();
产品的价格与回调方法异步。插入数据库可能会有什么延迟?我有什么特别的东西吗?
答案 0 :(得分:0)
您一定要考虑另一种处理这些产品更新的方法。
想象一下,如果你获得高频率的更新,你会产生很多线程,这需要很多resources(内存,CPU使用等)。
查看使用线程池的任务并行库(TPL),以优化多个并行线程的使用。
您还可以收集堆栈中的所有更新,并每5分钟(或更少)更新一次数据库。这样可以节省许多线程的产生,并且不会在很短的时间内通过许多单个更新查询来打扰数据库。