- 2
- 0
- 约4.1千字
- 约 19页
- 2017-04-04 发布于江苏
- 举报
4.1创建及控制线程
4.1创建及控制线程 主讲教师:胡祝华 一、知识能力目标 1.掌握线程概念及其实现机制; 2.掌握线程属性及其方法; 3.掌握线程的创建、运行、阻塞和终止。 4.能创建具有线程的Java程序 二、项目28 简单的多线程程序 使用一个线程用于计时,并使用另一个线程完成工作。在这个实例中,由run()方法实现的线程用于打印信息,由main()方法创建的主线程用于计时,这个线程一开始休眠10秒再开始执行。 1.程序代码 //SimpleThread.java public class SimpleThread extends Thread{ public static boolean f=false; /*声明变量f成为控制线程运行的标志*/ public void run(){ /*为线程创建run()方法*/ work(); /*如果想让线程完成不同的工作,只要修改work()方法*/ } private void work(){ //创建并实现work()方法,本例中work方法的功能是输出进行加法运算的次数 for(long i=1;;i++){ if(f==true){ System.out.println(进行了+i+次加法运算); break; } }} public static void main(String args[]){ SimpleThread r=new SimpleThread (); r.start(); /*调用start()方法运行run()方法从而启动线程*/ try{ Thread.sleep(10000); /*计时,主线程休眠10秒后再次开始运行*/ } catch (InterruptedException e){ } f=true; } } 2.相关知识 程序、进程、线程和多任务 程序(program) 对数据描述与操作的代码的集合 应用程序执行的脚本。 进程(process) 程序的一次执行过程 操作系统运行程序的基本单位 系统运行一个程序就是一个进程从创建、运行到消亡的过程 系统可以为一个程序同时创建多个进程 线程(thread) 比进程更小的运行单位 程序中单个顺序的流控制 一个进程可以被划分成多个线程 线程与程序 相同点:有开始、一系列可执行的命令序列、一个结束。在执行的任何时候,只有一个执行点 不同点:线程本身不能运行,只能包含在程序中,在程序中执行。一个线程在程序运行时,必须争取到为自己分配的系统资源。 多线程(相对于单线程而言) 在一个程序中可以定义多个线程并同时运行它们,每个线程可以执行不同的任务。 与进程不同:同类多线程共享一块内存空间和一组系统资源,所以系统创建多线程开销相对较小。因此,也称线程为轻负荷进程。 把程序分解成彼此独立的子任务,每一个独立的子任务由一个线程来完成 创建线程和启动线程的区别 在一个线程对新线程的Thread对象调用start()方法之前,这个新线程并没有真正开始执行 Thread对象在其线程真正启动之前就已经存在了,而且其线程退出之后仍然存在。 main()方法中可以创建若干个Thread类或者它的子类的对象,并且不设置这些对象中的任何引用 Java的垃圾收集器一般并不会清理这些对象,只有在线程离开了run()并且死亡之后才把它们清除。 不建议在构造器中通过start()方法启动线程 暴露了部分构造的对象给新线程,从封装的角度看是不可取的。 如果对象拥有一个线程,那么它应该提供一个启动该线程的start()或init()方法,而不是在构造器中启动它 应用拓展 主线程由main()创建,程序开始运行,在运行过程中另一个线程需要立即运行,主线程为这个线程让步,暂停运行,等待这个抢先运行的线程结束后再继续运行 1.程序代码 // Joinexam.java class Thread1 extends Thread{ public Thread1(){ start(); //Thread1对象实例化的时候就会开始执行线程 } public void run(){ for(int i=1;i=3;i++){ /*使用getName()方法获得当前线程的名称*/ System.out.println(线程+this.getName()+运行了+i+秒); /*本程序块控制程序每次完成输出后休眠1秒*/
您可能关注的文档
- 11-11-0421-01-00af-d1-0-phy-comments-discussion.ppt
- 12-05-07高一英语《M4-U1-Project》(课件).ppt
- 11.5.9使用API进行PICK RELEASE.doc
- 13-14牛津八下期中试题Ⅰ.doc
- 101105华数互动电视新平台技术建议书.doc
- 13_第十七课_IMS Database overview.ppt
- 14.2.2yicihangshu.ppt
- 16 The Theory of Distance Education.ppt
- 18-人工气道管理-孙红.ppt
- 2000专升本常用单词.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2023年浙江省公务员考试行测真题及答案(A卷).doc VIP
- 2025年河北对口医学题库及答案.doc VIP
- 餐饮美学基础 课件 模块四 餐厅民俗美学.pptx
- (山东)建筑与结构工程施工资料表格汇编(鲁JJ001-074).pdf VIP
- 餐饮美学基础 课件 模块三 餐厅环境美学.pptx
- 2025年长沙电力职业技术学院单招笔试职业技能考核试题库含答案解析.docx VIP
- 雷克萨斯-Lexus NX-产品使用说明书-NX200-ZGZ10L-AWXLPC2-NX200NX200t_OM78064C_01-1412-001.pdf VIP
- 小学语文五年级第二学期第二单元整体作业设计.docx
- 外研版小学英语(三年级起点)三年级上册Module2-Unit1同步检测.doc VIP
- 2025年河南省平顶山市中考生物试卷(含答案).pdf
原创力文档

文档评论(0)