有关异步编程的问题,.net中的线程

时间:2009-06-10 01:55:44

标签: c# .net

什么是更好的方法线程或异步编程。

我已经阅读了两个特别是在数据库操作中我们可以使用这两种方法。

我的理解是否正确?

请给出一些指导原则?看看我们使用线程的所有场景以及所有场景异步编程是否都很好?

由于 SC

2 个答案:

答案 0 :(得分:2)

线程和异步编程基本上是一回事。线程化是使异步编程成为可能的引擎。

在需要启动后台任务的情况下使用它,以便用户可以继续执行其他操作,而不必等待任务完成。

Joseph Albahari's tutorial on threading in C#是开始学习的好地方。

答案 1 :(得分:0)

如果您需要具有较小硬件资源的实质可扩展性,则异步模型擅长,但代价是复杂性。如果您不需要扩展,那么专注于使用线程阻止I / O可能会满足您的需求。可扩展性的概念差异很大。这可能很快成为一个相当深刻的主题,需要根据您想要实现的目标进行研究。可以找到有关异步IO的一些基础知识here。您是否需要使用单个服务器同时处理数千个网络请求?如果是这样,异步I / O可能就是您所需要的。你提到数据库操作......一般来说,大多数数据库实现都不会给你一个异步选项。鉴于你的模糊问题,我认为没有具体的答案。几乎所有事情......都取决于它。