Java动画课件09.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Thread 线程 第九章 进程Process 与 线程 Thread 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动, 进程是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体, 是CPU调度和分派的基本单位, 它是比进程更小的能独立运行的基本单位. 线程自己基本上不拥有系统资源, 只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈), 但它可与同属一个进程的其他的线程共享进程所拥有的全部资源。 一个线程可以创建和撤销另一个线程; 同一个进程中的多个线程之间可以并发执行。 任务线程优先级与线程调度 void stop() ?? 【1】方法用于终止一个Thread 的执行。 ???? 线程不能运行(即被阻塞)的四个原因是【2】 、 【3】、 【4】,和【5】 。 ??? 线程进入停止状态的两个原因是: 【6】和【7】。 ? 可以利用【8】 方法修改线程的优先级。 线程可以通过调用【9】 方法将处理器让给另一个优先级相同的线程。 sleep() ?? 如果要在等待一段时间之后再恢复执行一个线程,应调用【1】。 通过调用 resume() 方法, 可以使【1】 线程重新激活。 【1】方法用于使等待队列中的第一个线程进入就绪状态。 * Threads n. 线,细丝,线索,思路,螺纹 Ready Running Blocked Sleeping Waiting start issue I/O request wait notify notifyAll timeout expires interrupt thread dispatch (assign a processor) quantum expiration yield sleep complete sleep interval expires interrupt Born enter synchronized statement I/O completes acquire lock interrupt When a thread completes (returns from its run method), it?reaches the Dead state (shown here as the final state) 新生 就绪 运行 等待 睡眠 堵塞 线程的生命周期 当一个线程达到它的最终状态, 过程便告结束。 超过配额 分配到一个处理器 开始 输出输入完成 等待 睡眠 睡眠间断完毕 进入同步 完成 H I 优先级09 优先级10 优先级08 优先级07 优先级06 优先级05 优先级04 优先级03 优先级02 优先级01 C J K D E F G 就绪线程 A B 等待 睡眠 挂起 I/O阻塞 run方法运行结束 在该线程上调用stop()方法 setPeriority() yield() waiting, sleeping, suspend, blocked for input/output 挂起 notify() Suspended java.lang 类 Thread ?void start() ??????????使该线程开始执行;Java 虚拟机调用该线程的 run 方法。 static?void sleep(long?millis) ??????????在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)。 java.lang 类 Math static?double random() ??????????返回带正号的 double 值,大于或等于 0.0,小于 1.0。 public class MIDlet1 { public static void main(String args[]){ while(true){ System.out.println(Hello); try{ Thread.sleep(1000); }catch(Exception ex){} } // unreachable 无法访问语句 //System.out.println(其他事情); } } /* * 每隔1秒钟,程序打印一个Hello * */ import java.lang.*; public class MIDlet2 { public static void main(String arg[]) { PrintThread pt1 = new PrintThread(); pt1.start(); //以多线程的方式调用run函数 Pr

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档