- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多线程问题
多线程 程序、进程、线程、多任务 程序(Program):含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。 进程(Process):程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。 多任务(Multi task):是指在一个系统中可以同时运行多个程序,即有多个独立运行的任务,每一个任务对应一个进程。 线程(Thread) :也是一个执行中的程序,但线程是一个比进程更小的执行单位。一个进程在其执行过程中可以产生多个线程,形成多条执行线路。 多线程就是同时执行一个以上的线程,一个线程的执行不必等待另一个线程执行完才执行,所有的线程都可能发生在同一时刻。 .线程的状态与生命周期 新建线程在它的一个完整的生命周期内通常要经历五种状态。通过线程的控制与调度可使线程在这几种状态间转化. 1.新建状态(Newborn) 。 2.就绪状态(Runnable) 。 3.运行状态(Running)。 4.阻塞状态(Blocked)。 5.消亡状态(Dead) .线程的调度与优先级 调度:指在各个线程之间分配CPU资源。 优先级:在多线程系统中,每个线程都被赋予一个执行优先级。优先级决定了线程被CPU执行的优先顺序。 Java的Thread线程类与Runnable接口 Java中实现多线程的方法有两种: 继承java.lang包中的Thread类 用户在定义自己的类中实现Runnable接口 1.利用Thread类的子类来创建线程 Java程序语言中的基本类库中已定义了Thread这个基本类,内置了一组方法,使程序利用该类提供的方法,去产生一个新的线程、执行一个线程、终止一个线程的工作,或是查看线程的执行状态。 .用Runnable接口来创建线程 Runnable接口是定义在java.lang包中的一个接口,其中只提供了一个抽象方法run()的声明。 Runnable接口只有一个方法run( ),用户可以声明一个类并实现Runnable接口,并定义run( )方法,将线程代码写入其中,就完成了这一部分的任务。 //app1.java 利用Runnable接口来创建线程 class myThread implements Runnable //由Runnable接口实现myThread类 { private String who; public myThread(String str) //构造方法,用于设置成员变量who { who=str; } public void run() //实现run( )方法 { for (int i=0;i5;i++) { try { Thread.sleep ((int)(1000*Math.random( ))); } catch (InterruptedException e) { System.out.println(e.toString()); } System.out.println(who+”正在运行!!”); } } } public class app1 { public static void main(String args[]) { myThread you=new myThread(“你”); myThread she=new myThread(“她”); Thread t1=new Thread(you); //产生Thread类的对象t1 Thread t2=new Thread(she); //产生Thread类的对象t2 t1.start( ); //注意用t1激活线程 t2.start( ); //注意用t2激活线程 System.out.println(”主方法main( )运行结束!”); } } 在线程中启动其他线程 线程的运行特点: (1)创建独立执行线程比较容易,Java负责处理了大部分细节。 (2)各线程并发运行,共同争抢CPU资源,线程抢夺到CPU资源后,就开始执行,无法准确知道某线程能在什么时候开始执行。 (3)线程间的执行是相互独立的。 (4)线程独立于启动它的线程(或程序)。 阻塞线程 sleep() Thread.sleep(5*1000) 打断一个线程 sleepingThread.interrupt() 判断线程是否被打断 otherThread.isInte
您可能关注的文档
- 多媒体课件_资产评估学(双语)_本_第13周.ppt
- 多媒体辅助英语教学的利弊与对策(英文,定稿).doc
- 多媒体技术拓展销售技巧.ppt
- 多媒体课件(西电科大 赵建勋).ppt
- 多实例mysql的安装和管理_wing.docx
- 多媒体动画毕业设计论文.doc
- 多彩贵州旅游景点介绍 2.ppt
- 多智能体NetLogo仿真平台.ppt
- 多相流模拟在铸造充型过程模拟中.pptx
- 多文体阅读---- Exploring Emotional Intelligence.ppt
- 2025中国科学院福建物质结构研究所结构化学研究中心招聘1人考试备考题库及答案解析.docx
- 2025浙商银行绍兴分行招聘考试备考题库及答案解析.docx
- 2025浙江宁波市发展和改革委员会遴选3人考试备考题库及答案解析.docx
- 2025北京市朝阳区卫生健康委员会所属事业单位第二批招聘295人考试备考题库及答案解析.docx
- 2025中国科学院福建物质结构研究所结构化学全国重点实验室招聘5人考试备考题库及答案解析.docx
- 2025中国历史研究院非事业编制招聘4人考试备考题库及答案解析.docx
- 柔软”有力量-罗莱家纺新品发布会全球溯源直播策划方案.pptx
- 2023年黑龙江省伊春市五营区翠北林场招聘社区工作者真题附答案详解.docx
- 2023年黑龙江省哈尔滨市尚志市尚志镇招聘社区工作者真题参考答案详解.docx
- 2023年黑龙江省大兴安岭地区漠河县图强林业局招聘社区工作者真题及参考答案详解1套.docx
最近下载
- 牛津自然拼读oxfordphonicsLevel2Unit4Lesson2课件.pptx VIP
- 《梅花易数》预测实战方法.pdf VIP
- 医院地震应急演练脚本.docx VIP
- EPLAN笔记-EPLAN笔记-EPLAN笔记-EPLAN笔记.pdf VIP
- 污水处理厂应急预案.doc VIP
- 防火封堵工程施工与验收记录表(附件8)模板.pdf VIP
- 公路工程高程横坡计算程序(2011表格版).xls VIP
- BS EN 1822-1-2019 高效空气过滤器(EPA,HEPA和ULPA).第1部分:分类性能试验标记.pdf VIP
- 皇极经世预言未来的原理.pdf VIP
- 牛津自然拼读课件OPW PPT L2 U4 Lesson1.pptx VIP
文档评论(0)