class Program
{
static void Main(string[] args)
{
PriorityClass pc = new PriorityClass();  //实例化PriorityTest类
Thread threadOne = new Thread(new ThreadStart(pc.ThreadMethod));//实例化线程
threadOne.Name = "线程1"; //设置线程名
Thread threadTwo = new Thread(new ThreadStart(pc.ThreadMethod));//实列化线程
threadTwo.Name = "线程2";//设置线程名
threadTwo.Priority = ThreadPriority.BelowNormal;//设置线程的优先级
Thread threadThree = new Thread(new ThreadStart(pc.ThreadMethod));//实列化线程
threadThree.Name = "线程3";//设置线程名
threadThree.Priority = ThreadPriority.AboveNormal;//设置线程的优先级
Thread threadFour = new Thread(new ThreadStart(pc.ThreadMethod));//实列化线程
threadFour.Name = "线程4";//设置线程名
threadFour.Priority = ThreadPriority.Highest;//设置线程的优先级
Thread threadFive = new Thread(new ThreadStart(pc.ThreadMethod));//实列化线程
threadFive.Name = "线程5";//设置线程名
threadFive.Priority = ThreadPriority.Lowest;//设置线程的优先级
threadOne.Start();//执行线程
threadTwo.Start();//执行线程
threadThree.Start();
threadFour.Start();
threadFive.Start();
Thread.Sleep(1000);//线程休眠1秒
pc.LoopSwitch = false;
Console.ReadLine();
}
class PriorityClass  //自定义一个类
{
bool loopSwitch;   //定义一个布尔型变量
public PriorityClass()   //构造方法
{
loopSwitch = true;
}
public bool LoopSwitch
{
set { loopSwitch = value; }
}
public void ThreadMethod()   //线程执行方法
{
long threadCount = 0;
while (loopSwitch)
{
threadCount++;
}
Console.WriteLine("{0} with {1,11} priority" + "has acount ={2,13}", Thread.CurrentThread.Name, Thread.CurrentThread.Priority.ToString(), threadCount.ToString("NO"));//显示当前线程情况
}
}

转载于:https://www.cnblogs.com/xuezha/p/4911631.html

如何控制多线程之间的优先级顺序相关推荐

  1. python线程按照顺序执行_Python3多线程之间的执行顺序问题

    from threading importThread, Lock#由_acquire解锁执行后释放_release锁 def _print(_id: str, _acquire: Lock, _re ...

  2. Python 多线程如何按照任务优先级顺序执行,并根据任务分配来申请线程锁

    文章目录 项目介绍 总结 项目介绍 模拟一个场景,有一个工作站,工作站内有一台机器人负责抓取站内四个瓶子进行一系列工作流程,如扫描.称重.加热等动作,但瓶子加热需要较长的时间,机器人在将瓶子放到加热台 ...

  3. Java中控制多线程顺序执行

    Java中控制多线程顺序执行 一.概述 二.普通示例 三.控制示例 3.1.设置线程优先级 3.2.使用线程类的join() 3.2.1.在主线程join() 3.2.2.在子线程join() 3.3 ...

  4. 你好,C++(18) 到底要不要买这个西瓜?4.1.6 操作符之间的优先顺序

    4.1.6 操作符之间的优先顺序 在表达一些比较复杂的条件判断时,在同一个表达式中,有时可能会存在多个操作符.比如,我们在判断要不要买某个西瓜时,不仅要判断它的总价(单价8.2元/斤,一共10.3斤) ...

  5. java多线程有几种实现方法_Java多线程之间实现通讯

    一.课程目标 多线程之间如何通讯 wait.notify.notifyAll()方法 lock 停止线程 守护线程 Join方法 优先级 Yield 二.多线程之间如何实现通讯 2.1 什么是多线程之 ...

  6. 多线程之间的通信(等待唤醒机制、Lock 及其它线程的方法)

    一.多线程之间的通信. 就是多个线程在操作同一份数据, 但是操作的方法不同. 如: 对于同一个存储块,其中有两个存储位:name   sex, 现有两个线程,一个向其中存放数据,一个打印其中的数据. ...

  7. 12306是抢票原理分析-多线程之间实现同步

    理解线程安全? synchronized用法 死锁 Java内存模型 Vlolatile ThreadLock 什么是线程安全 当多个线程同时共享,同一个全局变量或者静态变量,做写得操作时,可能会发生 ...

  8. 多线程之间如何实现同步?

    一.为什么会有线程安全问题? 线程安全问题一般是发生再多线程环境,当多个线程同时共享一个全局变量或静态变量做写的操作时候,可能会发生数据冲突问题,也就是线程安全问题,在读的操作不会发生数据冲突问题 下 ...

  9. Java多线程——线程的优先级和生命周期

    Java多线程--线程的优先级和生命周期 摘要:本文主要介绍了线程的优先级以及线程有哪些生命周期. 部分内容来自以下博客: https://www.cnblogs.com/sunddenly/p/41 ...

  10. java 线程池控制多线程_Java多线程开发系列之四:玩转多线程(线程的控制1)...

    在前文中我们已经学习了:线程的基本情况.如何创建多线程.线程的生命周期.利用已有知识我们已经可以写出如何利用多线程处理大量任务这样简单的程序.但是当应用场景复杂时,我们还需要从管理控制入手,更好的操纵 ...

最新文章

  1. 科学家提出了忆阻性神经混合芯片 这一概念
  2. dos2unix批量转换的脚本
  3. 随笔-使用时间管理有感
  4. Jenkins 添加 linux节点
  5. 【Linux】一步一步学Linux——free命令(80)
  6. 3 步成长策略(逐字稿+PPT)
  7. 计算机网络常见的无线传输有,第八讲 计算机网络基础.doc
  8. python中config命令_python的logging.config使用详解
  9. 如何在ReactJS中使用FastReport Core Web Report
  10. golang 示例测试example_go语言从例子开始之Example37.Go 状态协程
  11. 阿特拉斯开发协议--与ATLAS 扭力控制器交互
  12. url怎么隐藏html后缀,去除url后缀(.html,.jsp等)的有效方法
  13. 伯努利试验及n重伯努利试验
  14. mysql实验报告4_实验四∶数据库安全性实验报告.doc
  15. 我国出生率跌破1%,有什么影响?
  16. 解决VBE6EXT.OLB不能被加载问题
  17. Unity,Sketchfab和Verge3D对比
  18. 带权图 Weighted Graph
  19. 牛客网SQL实战二刷 | Day10
  20. 网站被K多种情况解析 怎么做才能快速恢复?

热门文章

  1. mysql的sql性能分析器
  2. MD5算法的C++实现
  3. Maven+SpringMVC+Dubbo 简单的入门demo配置(另一篇)
  4. servlet的url-pattern匹配规则详细描述
  5. Linux系统编程—— fork() 函数详解
  6. docker MySQL-错误:2059-Authentication plugin ‘caching_sha2_password‘ cannot be loaded
  7. 结束SpringMVC
  8. 【渝粤教育】国家开放大学2018年秋季 3722-22T燃气输配工程 参考试题
  9. [渝粤教育] 中国地质大学 工程地质 复习题
  10. 【渝粤题库】陕西师范大学164105 物流管理学 作业(高起专)