C# 如何创建新线程

Thread

  1. 无参数时:
  //调用方法
  Thread thread = new Thread(Method);
  thread.Start();
  private static void Method()
  {
      Console.WriteLine("这是一个新线程");
  }
  //Lambda(适用于新线程代码量很小时)
  Thread thread = new Thread(()=>{Console.WriteLine("这是一个新线程"); });
  thread.Start();
  1. 有参数时:
Thread thread= new Thread(Method);
thread.Start("123");
private static void Method(object str)//参数必须是object类型
 {
     Console.WriteLine(str + "  这是一个新线程");
 }

Task

  1. 无参数时:
 //1、直接调用方法
 Task task = new Task(Method);
 task.Start();
 private static void Method()
 {
     Console.WriteLine("这是一个新线程");
 }
 //2、Action委托 调用方法
 Action act = Method;
 Task.Run(act);
 private static void Method()
 {
     Console.WriteLine("这是一个新线程");
 }
 //3、Lambda表达式:
 Task task = new Task(()=> { Console.WriteLine("这是一个新线程"); });
 task.Start();
 //4、Task,RUN方法(也可以使用Lambda表达式)
 Task task = Task.Run(Method);
 private static void Method()
 {
     Console.WriteLine("这是一个新线程");
 }
  1. 有参数时:
//1、
Task task = Task.Run(() => Method("123"));
//2、
Task task = new Task(() => Method("123"));
tas1.Start();
//3、
Task task = Task.Run(delegate() { Method("123");});
//4、
Task task = Task.Run(new Action (()=> { Method("123"); }));

private static void Method(string str)
{
     Console.WriteLine(str+ "这是一个新线程");
}
  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值