C# 几种创建线程的方法

 
  1. using System;

  2. using System.Threading;

  3.  
  4. namespace MutiThreadSample

  5. {

  6. /// <summary>

  7. /// 创建线程的方式

  8. /// </summary>

  9. class CreateThread

  10. {

  11. /// <summary>

  12. /// 不带参数的委托

  13. /// </summary>

  14. public void CreateThreadWithThreadStart()

  15. {

  16. Thread thread = new Thread(new ThreadStart(ThreadCallBack));

  17. thread.Start();

  18. }

  19. /// <summary>

  20. /// 带参数的委托

  21. /// </summary>

  22. public void CreateThreadWithParamThreadStart()

  23. {

  24. Thread thread = new Thread(new ParameterizedThreadStart(ThreadCallBackWithParam));

  25. Object param = null;

  26. thread.Start(param);

  27. }

  28. /// <summary>

  29. /// 匿名函数

  30. /// </summary>

  31. public void CreateThreadWithAnonymousFunction()

  32. {

  33. Thread thread = new Thread(delegate()

  34. {

  35. Console.WriteLine("进入子线程1");

  36. for (int i = 1; i < 4; ++i)

  37. {

  38. Thread.Sleep(50);

  39. Console.WriteLine("\t+++++++子线程1+++++++++");

  40. }

  41. Console.WriteLine("退出子线程1");

  42. });

  43. thread.Start();

  44. }

  45. /// <summary>

  46. /// 直接赋值委托

  47. /// </summary>

  48. public void CreateThreadWithCallBack()

  49. {

  50. Thread _hThread = new Thread(ThreadCallBack);

  51. _hThread.Start();

  52.  
  53. }

  54. /// <summary>

  55. /// 无参数的方法调用

  56. /// </summary>

  57. public void ThreadCallBack()

  58. {

  59. // Do Something

  60. }

  61. /// <summary>

  62. /// 带参数的方法

  63. /// </summary>

  64. /// <param name="obj"></param>

  65. public void ThreadCallBackWithParam(object obj)

  66. {

  67. // Do Something

  68. }

  69. }

  70. }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值