• C#__线程的优先级和状态控制


             线程的优先级:
            一个CPU同一时刻只能做一件事情,哪个线程优先级高哪个先运行,优先级相同看调度算法。
            在Thread类中的Priority属性(Highest,Above,Normal,BelowNormal,Lowest)可以影响线程的优先级

            关于线程的一些状态:
            线程的状态(Runing,Unstarted),线程调用Start方法后,新线程处于Unstarted状态,只有当操作系统调用线程运行时为Runing状态。
            线程休眠 Thread.Sleep()方法,可以让线程进入WaitSleepJoin状态
            终止线程 Thread.Abort()方法,可能会出现ThreadAbortException类型的异常,可以使用try{}catch{}处理这个异常,并在线程结束前做些清理工作。
            需要等待线程结束 Thread.Jion()方法,表示把Thread加入进来,停止当前线程,并把它设置为WaitSleepJion状态,直到加入的线程完成为止。

    1. class Program
    2. {
    3. /*
    4. 线程的优先级:
    5. 一个CPU同一时刻只能做一件事情,哪个线程优先级高哪个先运行,优先级相同看调度算法。
    6. 在Thread类中的Priority属性(Highest,Above,Normal,BelowNormal,Lowest)可以影响线程的优先级
    7. */
    8. /*
    9. 控制线程:
    10. 线程的状态(Runing,Unstarted),线程调用Start方法后,新线程处于Unstarted状态,只有当操作系统调用线程运行时为Runing状态。
    11. 线程休眠 Thread.Sleep()方法,可以让线程进入WaitSleepJoin状态
    12. 终止线程 Thread.Abort()方法,可能会出现ThreadAbortException类型的异常,可以使用try{}catch{}处理这个异常,并在线程结束前做些清理工作。
    13. 需要等待线程结束 Thread.Jion()方法,表示把Thread加入进来,停止当前线程,并把它设置为WaitSleepJion状态,直到加入的线程完成为止。
    14. */
    15. static void test1()
    16. {
    17. int i = 1;
    18. while (i < 100)
    19. {
    20. Console.Write("A");
    21. Thread.Sleep(100);
    22. i++;
    23. }
    24. }
    25. static void test2()
    26. {
    27. while (true)
    28. {
    29. Console.Write("B");
    30. Thread.Sleep(100);
    31. }
    32. }
    33. static void Main(string[] args)
    34. {
    35. Thread a = new Thread(test1);
    36. Thread b = new Thread(test2);
    37. a.Priority = ThreadPriority.Highest;
    38. b.Priority = ThreadPriority.Lowest;
    39. a.Start();
    40. b.Start();
    41. a.Join();
    42. b.Join();
    43. //ABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB……
    44. // 不运行完b线程不会往后执行
    45. a.Abort();
    46. b.Abort();
    47. Console.WriteLine("Hello");
    48. }
    49. }

  • 相关阅读:
    【英雄哥六月集训】第 24天: 线段树
    java计算机毕业设计人才库构建研究源程序+mysql+系统+lw文档+远程调试
    NFC技术的定义通信方式
    MongoDB与MySQL的区别???MongoDB的优势???
    支持语音与视频即时通讯项目杂记(一)
    Clusterpedia 入围 “全球开源软件产品评选活动” 优胜奖
    Python基础 P6函数
    《算法竞赛进阶指南》0x55 环形与后效性处理
    电子元器件产业发展遇新机,SRM供应商协同管理系统实现与供应商的敏捷协同
    黑苹果引导介绍篇
  • 原文地址:https://blog.csdn.net/qq_57233919/article/details/132748168