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状态,直到加入的线程完成为止。

    class Program{/*线程的优先级:一个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状态,直到加入的线程完成为止。*/static void test1(){int i = 1;while (i < 100){Console.Write("A");Thread.Sleep(100);i++;}}static void test2(){while (true){Console.Write("B");Thread.Sleep(100);}}static void Main(string[] args){Thread a = new Thread(test1);Thread b = new Thread(test2);a.Priority = ThreadPriority.Highest;b.Priority = ThreadPriority.Lowest;a.Start();b.Start();a.Join();b.Join();//ABABABABABABABABABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB……// 不运行完b线程不会往后执行a.Abort();b.Abort();Console.WriteLine("Hello");}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/101716.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨站请求伪造(CSRF)攻击与防御原理

跨站请求伪造&#xff08;CSRF&#xff09; 1.1 CSRF原理 1.1.1 基本概念 跨站请求伪造&#xff08;Cross Site Request Forgery&#xff0c;CSRF&#xff09;是一种攻击&#xff0c;它强制浏览器客户端用户在当前对其进行身份验证后的Web 应用程序上执行非本意操作的攻击&a…

Origin绘制彩色光谱图

成果图 1、双击线条打开如下窗口 2、选择“图案”-》颜色-》按点-》映射-》Wavelength 3、选择颜色映射 4、单击填充-》选择加载调色板-》Rainbow-》确定 5、单击级别&#xff0c;设置成从370到780&#xff0c;右侧增量选择2&#xff08;越小&#xff0c;颜色渐变越细腻&am…

【嵌入式软件C编程】主函数free子函数malloc地址的两种方式以及注意事项

本文档主要记录嵌入式C语言在子函数中应用malloc函数的方式&#xff0c;在实际项目中内存管理特别重要 一般在主函数中&#xff08;main&#xff09;使用malloc函数&#xff0c;然后在通过free函数进行释放内存&#xff0c;但有时候如果必须在子函数长调用malloc函数该怎样进行…

Docker如何安装seafile

SQLite 方式 要在 Docker 中安装 Seafile&#xff0c;您可以按照以下步骤进行操作&#xff1a; 安装 Docker&#xff1a;确保您的系统上已经安装了 Docker。您可以根据您的操作系统类型&#xff0c;在官方网站上找到适合您系统的 Docker 版本并进行安装。 下载 Seafile 镜像&…

模型压缩-对模型结构进行优化

模型压缩-对模型结构进行优化 概述 模型压缩通常都是对推断过程而言&#xff0c;训练过程的计算代价通常不考虑&#xff0c;因为GPU可以快速完成任意复杂度模型的训练对于推断过程来说&#xff0c;模型应用才是对于速度敏感的场景多数情况下 希望使用尽可能少的能耗完成京可能…

港陆证券:电子竞技传来重磅消息!概念股上半年业绩普增

国际奥委会宣布建立电子竞技委员会。 据央视新闻报道&#xff0c;北京时间9月6日&#xff0c;国际奥委会在官网发布音讯&#xff0c;国际奥委会有史以来将初次展望电子竞技的未来&#xff0c;建立一个全新的电子竞技委员会。 国际奥委会主席巴赫表明&#xff0c;虚拟体育有着…

个人能做股票期权吗?个人期权交易开户条件新规

个人投资者是可以交易股票期权的&#xff0c;不过期权交易通常需要投资者具备一定的投资经验和风险承受能力&#xff0c;因为期权交易涉及较高的风险和复杂性&#xff0c;下文为大家介绍个人能做股票期权吗&#xff1f;个人期权交易开户条件新规的内容。本文来自&#xff1a;期…

每日一题 2594. 修车的最少时间

难度&#xff1a;中等 思路源于题目标签 “二分”&#xff1a; 二分的上界应该是所有车都给修车能力值最小的人修&#xff0c;下界我设为0每次搜索时判断当前时间下&#xff0c;每位机械工总共能修 n 辆车&#xff0c;n > cars 则右边界左移&#xff0c;否则左边界右移 c…

webhook--详解(gitee 推送)

一、简介 webhook 是一种基于 HTTP 的回调函数&#xff0c;可在 2 个应用编程接口&#xff08;API&#xff09;之间实现轻量级的事件驱动通信。是一种新型的前后端交互方式&#xff0c;一种对客户端-服务器模式的逆转&#xff0c;在传统方法中&#xff0c;客户端从服务器请求数…

【java基础面试题】jdk、jre、jvm区别

【java基础面试题】jdk、jre、jvm区别 jdk ​ 从概念上讲JDK是JAVA开发工具,用它来开发JAVA程序&#xff0c;里面有很多基础类库和jre。 ​ JDK&#xff08;Java Development Kit&#xff09;&#xff0c;它是功能齐全的 Java SDK&#xff0c;是提供给开发者使用的&#xff…

浅谈泛在电力物联网、能源互联网与虚拟电厂

导读&#xff1a;从能源互联网推进受阻&#xff0c;到泛在电力物联网名噪一时&#xff0c;到虚拟电厂再次走向火爆&#xff0c;能源领域亟需更进一步的数智化发展。如今&#xff0c;随着新型电力系统建设推进&#xff0c;虚拟电厂有望迎来快速发展。除了国网和南网公司下属的电…

C++项目:网络版本在线五子棋对战

目录 1.项目介绍 2.开发环境 3.核心技术 4. 环境搭建 5.websocketpp 5.1原理解析 5.2报文格式 5.3websocketpp常用接口介绍 5.4websocket服务器 6.JsonCpp使用 6.1Json数据格式 6.2JsonCpp介绍 7.MySQL API 7.1MySQL API介绍 7.2MySQL API使用 7.3实现增删改查…