().描述
先运行个简单线程举例认识下线程
通过委托思路方法,以及使用AsyncResult判断线程状态
( 2).代码
using ;
using .Threading;
using .Runtime.Remoting.Messaging;
通过委托异步思路方法
{
//委托声明(签名)
delegate MyMethodDelegate;
MyClass
{
//要动态思路方法
public MyMethod1
{
\"Hello Word1\";
}
//要静态思路方法
public MyMethod2
{
\"Hello Word2\";
}
}
Class1
{
/// <summary>
/// 应用主入口点
/// </summary>
[STAThread]
void Main( args)
{
MyClass myClass = MyClass;
//方式1: 声明委托MyMethod1
MyMethodDelegate d = MyMethodDelegate(myClass.MyMethod1);
strEnd = d;
Console.WriteLine(strEnd);
//方式2: 声明委托MyMethod2 (使用AsyncResult对象)
d = MyMethodDelegate(MyClass.MyMethod2); //定义个委托可以供多个思路方法使用
AsyncResult myResult; //此类封闭异步委托异步结果,通过AsyncResult得到结果.
myResult = (AsyncResult)d.BeginInvoke(null,null); //开始
while(!myResult.IsCompleted) //判断线程是否执行完成
{
Console.WriteLine(\"正在异步执行MyMethod2 .....\");
}
Console.WriteLine(\"思路方法MyMethod2执行完成!\");
strEnd = d.EndInvoke(myResult); //等待委托思路方法完成并返回结果
Console.WriteLine(strEnd);
Console.Read;
}
}
}
本举例代码已经测试能够正常运行!
最新评论