您的位置:首页 > 编程语言

异步编程中使用帮助类来实现Thread.Start()的示例

2013-11-19 20:40 253 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace ConsoleApplication9
{
class Program
{
static void Main(string[] args)
{

// 异步调用
// 将需传递给异步执行方法数据及委托传递给帮助器类
ThreadWithState tws = new ThreadWithState(
"This report displays the number {0}.",
42,
new ExampleCallback(ResultCallback)
);
Thread t = new Thread(new ThreadStart(tws.ThreadProc));
t.Start();
Console.ReadKey();
}

static void ResultCallback(int i)
{
Console.Write("No." + i + "\n");
}
}
}

// 包装异步方法的委托
public delegate void ExampleCallback(int lineCount);
// 帮助器类

public class ThreadWithState
{
private string boilerplate;
private int value;
private ExampleCallback callback;

public ThreadWithState(string text, int number,
ExampleCallback callbackDelegate)

{
boilerplate = text;
value = number;
callback = callbackDelegate;
}

public void ThreadProc()
{
Console.WriteLine(boilerplate, value);
// 异步执行完时调用回调
if (callback != null)
callback(1);
}
}


运行结果:



摘自:http://www.cnblogs.com/heyuquan/archive/2012/12/16/2820775.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: