Wintellect Power Threading 的使用梗概

CLR Via C#中一个推荐的库Power Threading,通过了解功能很是强劲,主要是把异步编程的步骤给简化了。

以下是学习的过程推荐

http://wintellect.com/PowerThreading.aspx 下载

Wintellect_Power_Threading_Library_(October 26, 2010).zip,包中Power Threading Overview.pdf 这个是个详细的介绍,不过有的没有更新。

AsyncEnumerator

WindowsForms

展示了AsyncEnumerator的使用、取消、延时取消、丢弃处理结果

TcpServer

异步方式实现TCP服务

APM和AsyncEnumerator两个方式都有

TcpClient

同步、APM AsyncEnumerator几种方式实现TCP客户端的展示

PatternDemos

展示了AsyncEnumerator各种用法

跟踪AsyncEnumerator.EnableDebugSupport();
全部完成和单个完成 yield return 
组丢弃ThrowOnMissingDiscardGroupDiscardGroup

取消

等待和超时

共享资源SyncGate

结果组合多个AsyncEnumerator

MultipleOps

AsyncEnumerator的SuspendCallbackResumeCallback委托的用法

AspWebService

Web Service中使用异步

AsyncEnumerator<String[]>包括返回值

 

使用Web Service的方法,可以同步也可以异步

localhost.AsyncEnumeratorService w = new localhost.AsyncEnumeratorService();

string u = "http://localhost:2669/AspWebForm/Default.aspx";

var r = w.GetWebSiteDataLength(u);

Console.WriteLine(r);

 

w.BeginGetWebSiteDataLength(u, result =>

{

   localhost.AsyncEnumeratorService svr = (localhost.AsyncEnumeratorService)result.AsyncState;

   var d= svr.EndGetWebSiteDataLength(result);

   Console.WriteLine(d);

},

w);

 

AspWebForm

Asp.net中使用异步操作

Page.AddOnPreRenderCompleteAsync

AsyncEnumerator-Silverlight

ImageGrab

ImageGrab.Web

AsyncEnumeratorSilverlight下的使用

Flickr

Flickr.Web

和flickr集成展示

 

 

APM Implementations

展示实现APM的功能和性能问题

CmdArgParser

LogicalProcessorInformation

命令行处理、信息工具处理函数的演示

DeviceIO

直接操作IO的演示

ReaderWriterGate

ResourceLocks

锁功能和性能的测试

这个库对APM的使用提供了很好的支持,在高性能的处理值得引入。

参考

Clr Via C# 25 26章

http://transbot.blog.163.com

http://ys-f.ys168.com/?CLR_via_CSharp_3rd_Edition_Code_by_Jeffrey_Richter.zip_55bism1e0e7bkisjthit2bso0cm5bs4bs1b5bktnql0c0bu22f05f12z

posted @ 2011-05-08 14:32  2012  阅读(2781)  评论(0编辑  收藏  举报