2020-05-11

C#多线程

C#多线程


static void Main(string[] args)
{
//1.利用委托创建线程,无反回值用Action,有返回值用Func
Action a = AA;
a.BeginInvoke(10,null,null);
Func b = BB;
b.BeginInvoke( ar =>
{
int num = b.EndInvoke(ar);//获取返回值
Console.WriteLine(num);
},null);

  // 2,利用Thread来创建线程  Thread t1 = new Thread(AA);//创建线程,调用Mrcxd方法  //t1.IsBackground = true;//设置为后台线程  t1.Start("哈哈");//开启线程并且传入参数,注:调用的方法如果用参数,必须是object类型  //t1.Abort();//终止这个线程  t1.Join();//设置主线程睡眠,等待t1线程执行完再执行下面的代码  Console.WriteLine("Main线程");  // 3,利用线程池来创建线程  ThreadPool.QueueUserWorkItem(AA, 20);//线程池中的线程都为后台线程,不可修改为前台线程  // ThreadPool.QueueUserWorkItem(BB);  Console.ReadKey(); } private static void AA(object x) {  Console.WriteLine("锄禾日当午" + x); } private static int BB() {  Console.WriteLine("学C真辛苦");  return 100; }

No comments:

Post a Comment