- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Thread类的方法 void run() 线程所执行的代码 void start() throws IllegalThreadStateException 使程序开始执行,多次调用会产生例外 void sleep(long milis) 让线程睡眠一段时间,此期间线程不消耗CPU资源 void interrupt() 中断线程 static boolean interrupted() 判断当前线程是否被中断(会清除中断状态标记) boolean isInterrupted() 判断指定线程是否被中断 线程状态控制方法 10.6 常用方法 Thread类的方法 boolean isAlive() 判断线程是否处于活动状态(即已调用start,但run还未返回) static Thread currentThread() 返回当前线程对象的引用 void setName(String threadName) 改变线程的名字 String getName() 获得线程的名字 String toString() 例子:Thread[Thread-0,1,test] void join([long?millis[, int?nanos]]) 等待线程结束 10.6 常用方法 Thread类的方法 void destroy() 销毁线程 void stop() 终止线程的执行 void suspend() / void resume() 挂起线程 / static void yield() 暂停当前线程,让其他线程执行 void setDaemon(boolean on) / void setPriority(int p) 获得线程的名字 notify() / notifyAll() / wait() - 从Object继承而来 10.6 常用方法 由于Java支持多线程,具有并发功能,从而大大提高了计算机的处理能力。在各线程之间,不存在共享资源的情况下,几个线程的执行顺序可以是随机的。但是,当两个或两个以上的线程需要共享同一资源时,线程之间的执行顺序就需要协调,并且在某个线程占用这一资源时,其他线程只能等待。 如生产者和消费者的问题,只有当生产者生产出产品并将其放入商店货架后,消费者才能从货架上取走产品进行消费。当生产者没有生产出产品时,消费者是没法消费的。同理,当生产者生产的产品堆满货架时,应该暂停生产,等待消费者消费。 10.7 线程同步 在处理线程同步时,访问资源的程序段使用关键字synchronized来修饰,并通过一个称为监控器的系统软件来管理。当执行被synchronized修饰的程序段时,监控器将这段程序访问的资源加锁,此时,称该线程占有资源。在这个程序段调用执行完毕之前,其他占有CPU资源的线程一旦调用这个程序段时就会引发堵塞,堵塞的线程要一直等到堵塞的原因消除,再排队等待CPU资源,以便使用这个程序段。 关键字synchronized修饰程序段的语法格式如下: 10.7 线程同步 synchronized [类] 方法或语句块 一个线程组(thread group)是线程的一个集合。Java系统的每个线程都属于某一个线程组。有些程序包含相当多的具有类似功能的线程,采用线程组结构后,可以将它们作为一个整体进行操作。例如,可以同时启动、挂起或者唤醒一个线程组中的所有线程。 多数情况下,一个线程属于哪个线程组是由编程人员在程序中指定,若编程人员没有指定,则Java系统会自动将这些线程归于main线程组。main线程组是Java系统启动时创建的。一个线程组不仅可以包含多个线程,而且线程组中还可以包含其他的线程组,构成树形结构。一个线程可以访问本线程组的有关信息,但无法访问本线程组的父线程组。 10.8 线程组 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 尚辅网 / 第10章 多线程 线程(thread)是指程序中完成一个任务的从头到尾的执行线索。到现在为止,前面所涉及的程序都是单线程运行的。但现实世界中的很多过程其实具备多条线索同时执行的特点。如Internet上的服务器可能需要同时响应多个客户机的请求。 多线程是指同时存在几个执行体,按几条不同的执行线索共同工作的情况。Java语言允许在一个程序中并发地运行多个线程,使得编程人员可以很方便地开发具有多线程功能、能同时处理多个任务的功能强大的应用程序。多线程可以使程序反应更快、交互性更强,并能提高执行效率。 第10章 多线程 Java中的线程
您可能关注的文档
- FLASH动画创作1章节.ppt
- 商务电脑实务连卫民4章节.ppt
- Flash动画的结构1章节.ppt
- Flash动画技术与艺术手法解析张英杰Flash动画技术与艺术手法解析张英杰.ppt
- 商务电脑实务连卫民5章节.ppt
- Flash动画简明教程1章节.ppt
- flash动画入门2章节.ppt
- Flash动画设计3章节.ppt
- flash动画设计第1章节1章节.ppt
- flash动画设计第3章节1章节.ppt
- java课件chap11章节.ppt
- java课件chap12章节.ppt
- MCSEGuidetoManagingaMicrosoftWindows……7章节.ppt
- MCSEGuidetoMicrosoftWindowsXPProfess……1章节.ppt
- 商务秘书教程杨光汉王瑞成主编商务秘书教程第7章节.ppt
- MCSEGuidetoMicrosoftWindowsXPProfess……2章节.ppt
- MCSEGuidetoMicrosoftWindowsXPProfess……3章节.ppt
- 商务秘书教程杨光汉王瑞成主编商务秘书教程第8章节.ppt
- MCSEGuidetoMicrosoftWindowsXPProfess……4章节.ppt
- MCSEGuidetoMicrosoftWindowsXPProfess……5章节.ppt
文档评论(0)