异步更新数据库中的信息

时间:2017-05-16 10:52:51

标签: c# multithreading asynchronous

我想异步更新数据库中的信息,以下实现有什么区别,两者都是异步的?

哪一个更好用?

new System.Threading.Thread(() => {
 userModel.Update(); //update the database
}).Start();

internal async void ProcessMessageReceived(UserModel userModel) {
 userModel.Update();
}

1 个答案:

答案 0 :(得分:1)

您的第一个实现是使用新线程,而第二个实现使用TPL。我们需要看到Update方法的实现是完全确定的,我猜它会返回一个Task吗?

使用TPL通常比产生自己的线程更有效。

TPL任务使用线程池并允许任务的可重用性,这可以提供额外的性能优势。