Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关于.net中异步编程和线程的问题_C#_.net - Fatal编程技术网

C# 关于.net中异步编程和线程的问题

C# 关于.net中异步编程和线程的问题,c#,.net,C#,.net,线程或异步编程的更好方法是什么 我读过这两种方法,特别是在数据库操作中,我们可以使用这两种方法 我的理解正确吗 请给出一些指导原则?在所有情况下我们都可以使用线程,在所有情况下异步编程都好吗 谢谢 线程和异步编程本质上是一回事。线程是使异步编程成为可能的引擎 在需要启动后台任务的情况下使用它,这样用户就可以继续进行其他工作,而不必等待任务完成 这是一个开始学习的好地方。如果您需要在较小的硬件资源上实现较大的可扩展性,异步模型会非常出色,但会以复杂性为代价。如果您不需要扩展,那么专注于使用线程阻塞

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

我读过这两种方法,特别是在数据库操作中,我们可以使用这两种方法

我的理解正确吗

请给出一些指导原则?在所有情况下我们都可以使用线程,在所有情况下异步编程都好吗

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

在需要启动后台任务的情况下使用它,这样用户就可以继续进行其他工作,而不必等待任务完成


这是一个开始学习的好地方。

如果您需要在较小的硬件资源上实现较大的可扩展性,异步模型会非常出色,但会以复杂性为代价。如果您不需要扩展,那么专注于使用线程阻塞I/O可能会满足您的需要。可伸缩性的概念差别很大。这可能很快成为一个相当深入的课题,需要根据您想要实现的目标进行研究。可以找到一些关于异步IO的基础知识。您是否需要使用一台服务器同时为数千个网络请求提供服务?如果是这样,异步I/O可能就是您所需要的。您提到了数据库操作……一般来说,大多数DB实现都不会提供异步选项。考虑到你含糊不清的问题,我认为没有具体的答案。就像几乎所有的事情一样……这要看情况而定。

+close:这里似乎没有问题。