using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace _004_线程
{
class Program
{
static int Test(int i,string s)
{
//为比较耗时的操作开启新的线程进行单独的操作
Console.WriteLine("test"+i+s);
Thread.Sleep(10000);//让当前线程休眠,毫秒
return 1000;
}
static void Main(string[] args)
{
Func<int,string,int> a = Test;
IAsyncResult ar = a.BeginInvoke(100,"ss",null, null);//开启一个新的线程,去执行test方法
//IAsync可以取得当前线程的状态,
Console.WriteLine("main");
while (ar.IsCompleted == false)
{
Console.Write(".");
Thread.Sleep(10);
}
int res = a.EndInvoke(ar);//取得异步线程返回值。
Console.WriteLine(res);
Console.ReadKey();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace _004_线程
{
class Program
{
static int Test(int i,string s)
{
//为比较耗时的操作开启新的线程进行单独的操作
Console.WriteLine("test"+i+s);
Thread.Sleep(10000);//让当前线程休眠,毫秒
return 1000;
}
static void Main(string[] args)
{
Func<int,string,int> a = Test;
IAsyncResult ar = a.BeginInvoke(100,"ss",null, null);//开启一个新的线程,去执行test方法
//IAsync可以取得当前线程的状态,
Console.WriteLine("main");
while (ar.IsCompleted == false)
{
Console.Write(".");
Thread.Sleep(10);
}
int res = a.EndInvoke(ar);//取得异步线程返回值。
Console.WriteLine(res);
Console.ReadKey();
}
}
}