初学者在C#中进行线程化

时间:2009-02-10 16:28:45

标签: c# asp.net multithreading iis

您是否可以推荐一系列关于如何开始使用线程的一系列文章或者最好是一本书? 我主要是在控制台应用程序和ASP.Net应用程序中寻找线程的使用。

我只了解线程的基础知识,并且知道“这里是龙”,所以在我开始使用它们之前想要有一个良好的基础。

我很好奇的事情就像拥有线程池的概念,如何管理它的大小,如何选择要排队的东西直到线程可用而强制新线程启动等等。 另外,我知道IIS有很多内置的线程处理,所以任何解释如何在IIS下的ASP.Net中使用线程以及它与控制台C#应用程序中的线程的区别都很有趣。

我的预期用途包括:

  • 用户在ASP.Net页面上做了一些事情,导致我的服务器端代码需要连接到另一个系统并执行冗长的操作,因此我希望通过触发该操作来快速将控制权返回给用户到另一个线程。用户可以通过AJAX继续观察进度,或者只是离开 - 毕竟网络是无状态的:)

  • 使用Fire和忘记模式(那里有大量示例代码,我想更多地了解它们的工作方式)

由于

6 个答案:

答案 0 :(得分:11)

除了我自己与Andrew联系的文章外,Joe Albahari还有another tutorial

如果你想进行彻底的检查,请阅读Joe Duffy的Concurrent Programming in Windows

答案 1 :(得分:5)

这是我们自己的Jon Skeet的一系列好文章:

http://www.yoda.arachsys.com/csharp/threads/

答案 2 :(得分:4)

我发现Joseph Albahari的free ebook非常有用

答案 3 :(得分:2)

我会推荐Joseph Albahari的系列节目:

http://www.albahari.com/threading/

简洁易懂。

答案 4 :(得分:1)

我推荐以下

Great MSDN Article

答案 5 :(得分:0)

获取Jeff Richter的“CLR Via C#”。它是我读过的最好的.Net书,有关于线程的广泛信息。

alt text