什么可能是执行Thread.Start()方法的延迟?

时间:2015-04-20 08:57:06

标签: multithreading c#-4.0

我正在使用X_Trader(TT api)来获取某些产品的价格,每当新产品价格出现时,我都会在线程中调用一个方法来更新/插入数据库,

new Thread(()=>{ /*call method to insert/update*/ }).Start();

产品的价格与回调方法异步。插入数据库可能会有什么延迟?我有什么特别的东西吗?

1 个答案:

答案 0 :(得分:0)

您一定要考虑另一种处理这些产品更新的方法。

想象一下,如果你获得高频率的更新,你会产生很多线程,这需要很多resources(内存,CPU使用等)。

查看使用线程池的任务并行库(TPL),以优化多个并行线程的使用。

您还可以收集堆栈中的所有更新,并每5分钟(或更少)更新一次数据库。这样可以节省许多线程的产生,并且不会在很短的时间内通过许多单个更新查询来打扰数据库。