Thread的.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Thread的

MITTING ! chenmh2@ UNRE 《多线程》 一.线程:线程是一个并发执行的顺序流,一个进程包括多个顺序执行 流程,这执行流程称为线程.线程是一个操作系统创建并维 护的一个资源,对操作系统来说JVM就是一个进程.对于单 CPU系统来说,某一个时刻只可能由一个线程在运行。 一个Thread对象就表示一个线程。 线程由三部分组成: (1).CPU分配给线程的时间片 (2).线程代码(写在run方法中) (3).线程数据 进程是独立的数据空间,线程是共享的数据空间. 线程对象存在于虚拟机堆空间的一块连续的地址空间(静态) 注意:1.线程是动态的,与线程对象是两回事. 2.线程对象与其他对象不同的是线程对象能够到底层去申 请管理一个线程资源。 3.只有对线程对象调用start()方法才是到底层去申请管理 一个线程资源。 4.任务并发执行是一个宏观概念,微观上是串行的。 二.进程的调度 进程的调度是由OS 负责的 (有的系统为独占式,有的系统为共享 式,根据重要性,进程有优先级)。由OS 将时间分为若干个时间 1 MITTING ! chenmh2@ UNRE 片。JAVA 在语言级支持多线程。分配时间的仍然是OS。 三.线程有两种实现方式: 第一种方式: class MyThread extends Thread{ public void run(){ 需要进行执行的代码,如循环。 } } public class TestThread{ main(){ Thread t1=new Mythread(); T1.start(); } } 只有等到所有的线程全部结束之后,进程才退出。 第二种方式:通过接口实现继承 Class MyThread implements Runnable{ Public void run(){ Runnable target=new MyThread(); Thread t3=new Thread(target); Thread.start();//启动线程 } } 四.下面为线程中的7 中非常重要的状态: (有的书上也只有认为前五种状态:而将 “锁池”和 “等待队列”都 看成是“阻塞”状态的特殊情况:这种认识也是正确的,但是将“锁 池”和 “等待队列”单独分离出来有利于对程序的理解) 2 MITTING ! chenmh2@ UNRE 阻塞 初始 (1)(2)(3) 终止 ①②③ 可运行 运行 锁池 等待队列 注意:图中标记依次为 ①输入完毕;②wakeup③t1 退出 ⑴如等待输入 (输入设备进行处理,而CUP 不处理),则放入阻塞, 直到输入完毕。 ⑵线程休眠sleep () ⑶t1.join()指停止main(),然后在某段时间内将t1 加入运行队列, 直到t1 退出,main()才结束。 特别注意:①②③与⑴⑵⑶是一一对应的。 进程的休眠:Threadsle

文档评论(0)

ayangjiayu5 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档