- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章多线程重点讲义
第十三章 多线程 13.3 Thread类 Thread类的常用属性: IsAlive指示当前线程的执行状态。如果此线程已启动并且尚未正常终止则为 true;否则为 false。 IsBackground指示某个线程是否为后台线程。我们创建程序时由系统自动创建的线程称为主线程或前台线程,由前台线程创建出的其它线程为后台线程。前台线程如果终止,后台线程将全部被终止,程序结束。 Priority指示线程的调度优先级。它有四个选项: Highest(高) AboveNormal(比一般高) Normal(一般) BelowNormal(比一般低) Lowest(低)。 13.3 Thread类 ThreadState指示当前线程的状态,包括: Unstarted(未启动) Running(运行) WaitSleepJoin(休眠) SuspendRequested(正被请求挂起) Suspended(挂起) AbortRequested(正被请求终止) Stopped(已停止) 13.3 Thread类 Thread类的常用方法: Interrupt中断处于 WaitSleepJoin 线程状态的线程。 Join阻塞调用线程,直到某个线程终止时或者经过了指定的时间为止。 Resume继续已挂起的线程。 Sleep将当前线程阻塞指定的毫秒数。注意,该方法为静态成员。 Start 导致操作系统将当前实例的状态更改为 ThreadState.Running Suspend挂起线程,或者如果线程已挂起,则不起作用。 13.4 创建、管理线程 3.4.1 创建一个简单的线程 bool Stop; //停止执行标志 Thread newThread ; //定义一个线程变量 public Form1() { InitializeComponent(); //不对跨线程访问控件进行检查 CheckForIllegalCrossThreadCalls = false; //创建新线程,该线程会执行Do方法中的代码 newThread = new Thread(new ThreadStart(Do)); } public void Do() { for (int i = 0; ; i++) { if (i 100000) i = 0; label1.Text = i.ToString(); if (Stop) break; } } 3.4.1 创建一个简单的线程 private void button1_Click(object sender, EventArgs e) { Stop = false; //设置是否停止线程运行标记 newThread.Start(); //启动线程 } private void button2_Click(object sender, EventArgs e) { Stop = true; //设置是否停止线程运行标记 } 13.4.2 管理线程 hread newThread;//线程变量成员 public Form1() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false;//避免对非法线程对象的检查 newThread = new Thread(new ThreadStart(Do));//创建新线程对象 } //线程对象将要使用的方法,该方法不停改写Label控件的Text属性 public void Do(){ for (int i = 0; ; i++) { if (i 100000) i = 0; label1.Text = i.ToString(); } } 13.4.2 管理线程 private void bStart_Click(object sender, EventArgs e) { newThread.Start();//启动线程 } private void bStop_Click(object sender, EventArgs e) { newThread.Abort();//终止线程 } private void bSleep_Click(object sender, EventArgs e) { Thread.Sleep(5000);//主线程将睡眠5000毫秒(5秒)这期间程序处于“假死”状态 } 13.4
您可能关注的文档
- 第二讲 蛮族建政.ppt
- 第二课 课堂应答礼仪.ppt
- 第11章量子物理基础1.ppt.pptx
- 第二课 关注我们的生存环境.ppt
- 第11课 城市风貌与社会生活.pptx
- 第二课《放风筝》.ppt
- 第二课、室内环境污染.ppt
- 第二讲美术的主要艺术语言.ppt
- 第二课_生命的滋味PPT.ppt
- 第二课时 告别依赖 走向自立.ppt
- 二零二五年度城市绿化工程平板车租赁及苗木运输合同.docx
- 二零二五年度城市绿化工程承包合同书4篇.docx
- 二零二五年度城市绿化工程招标投标保证协议.docx
- 2025年往复泵项目评估报告.docx
- 2025年中国黄金首饰行业市场现状、投资态势分析报告(咨询).docx
- 上海市长宁、嘉定区2024年高考临考冲刺化学试卷含解析.doc
- 福建省平和一中、南靖一中等五校2024年高三第五次模拟考试化学试卷含解析.doc
- 二零二五年度城市绿化带植物病虫害防治合同3篇.docx
- 山东省德州市武城县迪尔中学2023-2024学年高三压轴卷化学试卷含解析.doc
- 二零二五年度城市绿化带植被养护与更新合同3篇.docx
文档评论(0)