摘要:异步委托
异步委托提供以异步方式调用同步方法的能力。当同步调用一个委托时,调用方法直接对当前线程调用目标方法。如果编译器支持异步委托,则它将生成该调用方法以及 begininvoke 和 endinvoke 方法。如果调用 begininvoke 方法,则公共语言运行库将对请求进行排队并立即返回到调用方。将对来自线程池的线程调用该目标方法。提交请求的原始线程自由地继续与目标方法并行执行,该目标方......
摘要:使用异步客户端套接字
异步客户端套接字在等待网络操作完成时不挂起应用程序。相反,它使用标准 .net 框架异步编程模型在一个线程上处理网络连接,而应用程序继续在原始线程上运行。异步套接字适用于大量使用网络或不能等待网络操作完成才能继续的应用程序。
socket 类遵循异步方法的 .net 框架命名模式;例如,同步 receive 方法对应异步 beginreceive 和 endreceive......
在.NET中的线程处理(3)使用异步 i/o 完成事件,线程池中的线程将只在收到数据时对数据进行处理,一旦处理完数据,该线程就会返回到线程池中.
下面的 c# 代码示例说明了一个简单的异步 i/o 操作. 【程序编程相关:
正弦函数的绘制的一种方法。(坐标变换与放】
若要进行异步 i/o 调用,必须将操作系统 i/o 句柄与线程池相关联,并且必须指定一个回调方法.当 i/o 操作完成后,线程池中的线程将调用该回调方法. 【推荐阅读:
使用反射实现根据名称动态创建窗体的几种方】
[c#] 【扩展信息:
可拖动的无标题栏窗体,并且可以通过拉拽改】
注意 该示例需要 100mb 以上的可用内存.
using system;
using system.io;
using system.threading;
using system.runtime.interopservices;
public class bulkimageprocasync{
public const string imagebasename = "tmpimage-";
public const int numimages = 200;
public const int numpixels = 512*512;
// processimage has a simple o(n) loop, and you can vary the number
// of times you repeat that loop to make the application more cpu-bound
// or more i/o-bound.
public static int processimagerepeats = 20;
// threads must decrement numimagestofinish, and protect
// their access to it through a mutex.
public static int numimagestofinish = numimages;
public static object numimagesmutex = new object[0];
// waitobject is signalled when all image processing is done.
public static object waitobject = new object[0];
public class imagestateobject{
public byte[] pixels;
public int imagenum;
public filestream fs;
}
public static void makeimagefiles(){
int sides = (int) math.sqrt(numpixels);...
下一页 摘要:查找现有的文件和目录
您还可以使用独立存储文件来搜索现有的目录和文件。请记住,在存储区中,文件名和目录名是相对于虚文件系统的根目录指定的。此外,windows 文件系统中的文件和目录名不区分大小写。
要搜索某个目录,请使用 isolatedstoragefile 的 getdirectorynames 实例方法。getdirectorynames 采用表示搜索模式的字符串。支持使用单字符 (?......