- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java线程6wdtcwk9
* Java语言程序设计 * 第13章 线程 13.1 线程的概念 13.2 线程的使用 两种方式 13.3 多线程的互斥与同步 synchronized wait()/notifyAll()/notify() * 1.进程(Process) 程序(Program)的一次动态执行过程, 占用特定的地址空间 进程是存储器、外设等资源的分配单位。也是处理器的调度对象。 多任务(Multitasking)操作系统 多任务是指在系统中可以同时运行多个程序 如果只有一个处理器,在每一时刻只有一个进程的一条指令被执行。可以使这些任务交替执行,由于间隔的时间短,这些程序看上去好像在同时运行。 进程的查看 Windows系统: Ctrl+Alt+Del Unix系统: ps or top 13.1 线程的概念 * 2.线程(Thread) 线程是进程中一个“单一的连续控制流程”执行路径 一个进程可拥有多个并行的(concurrent)线程 一个进程中的线程共享相同的内存单元/内存地址空间?可以访问相同的变量和对象,而且它们从同一堆中分配对象?通信、数据交换、同步操作 轻量级进程(lightweight process) 多进程 每个进程只有 一个线程 单进程 多线程 13.1 线程的概念 * 13.1 线程的概念 进程与线程的关系 一个进程中又可以包含一个或多个线程 一个线程就是一个程序内部的一条线索 3.如果要一个程序中实现多段代码交替运行,就需要产生多个线程,并指定每个线程上所要运行的程序代码段,这就是多线程。 多线程意味着一个程序的多行语句同时执行,但不等价多次启动一个程序 * 13.1 线程的概念 Java语言中的线程 (Thread) 大多数现代的操作系统都支持线程 第一个在语言本身中显性地包含线程的主流编程语言,它没有把线程化看作是底层操作系统的工具 每个 Java 程序都至少有一个线程—主线程 当一个 Java 程序启动时,JVM 会创建主线程,并在该线程中调用程序的main()方法 JVM还创建了其它线程,如垃圾收集(garbage collection) * 13.2 线程的使用 13.2.1 线程体 java.lang.Thread类: 封装了线程的行为,它是一个具体的类。 要创建线程,必须定义一个Thread类的子类,在该子类是重写run()方法,即定义线程所需完成的工作。 每个线程都是通过某个特定对象的方法run()来完成其操作的,方法run()称为线程体 通常run方法是一个循环 * 13.2.2 线程的状态 一个线程对象从创建、启动、运行、终止,直到线程对象被java虚拟机所释放,其生命周期处于各种不同的状态 创建状态 可运行状态 不可运行状态 死亡状态 start() new Thread() stop() stop() stop() run() sleep() suspend() wait() 阻塞 * 13.2.2 线程的状态 非法状态处理 线程创建只有调用start()、stop()方法,若调用其它方法将会引起非法状态处理(IllegalThreadStateException) isAlive()方法 在Thread类的程序接口中提供了isAlive()方法。如果线程被启动且未被终止,那么isAlive()将返回true 线程的启动是通过Thread子类的start()方法来实现,而start()方法启动后,它又引用Thread子类的run()方法来启动线程 线程的start()方法调用后,该线程即处于就绪状态,这时,它将和主线程一起调度,有可能在任一时刻进入运行状态,这是由系统决定的。 * 线程创建的两种方式 继承Thread: java.lang.Thread类, 重写run()方法 实现接口: java.lang.Runnable接口 Runnable接口的唯一方法 public void run() 13.2.3 线程体的构造 我们的任务:让程序中的两个线程交替执行 * 13.2.2 线程的状态 创建线程---继承Thread类的使用方法 class Myclass extends Thread { public void run() {要执行的代码….} } class Mainclass { public static void main() { Myclass m=new Myclass() m.start(); ….} } 线程的启动 可运行状态 * 13.2.2 线程的状态 创建线程----实现Runnable接口的实现方法 class MyRunnable implements Runnable { public void ru
您可能关注的文档
- hay为中国人寿所做的绩效管理培训讲义7wd_gztk.ppt
- hiv初筛实验室工作制度及操作规范1hbx5ams.doc
- hay合益集团的绩效管理培训讲义umel_olr.ppt
- hdpe管道焊接技术培训2au8sjzg.ppt
- hmq系列环氧乙烷灭菌器确认验证报告cjs_xt0o.doc
- hp小型机安装于配置4gcw2igd.doc
- hr满意度综合问卷大全vcvxr9kv.doc
- hp小型机操作系统安装配置指导书hkjqarxl.doc
- hr理论大全fkiy4nrw.doc
- hr绩效考核表格大全zo8pumrj.doc
- java综合性实验 学生成绩管理系统ehvntf9n.doc
- java线程yzirlvon.doc
- java课程设计报告-选修课管理系统sx8gchmg.doc
- java课程设计报告利用java设计简单聊天对话框y3r5bgcp.doc
- java语言 输入输出cnoprah9.ppt
- java网络编程基础 第2章 java开发环境基本知识54b4pltk.ppt
- java毕业设计物业管理系统eceaj3ku.doc
- java课程设计报告选修课管理系统jcjeoqmy.doc
- java课程设计报告利用java实现简单聊天室ctkyfphs.doc
- java课程教学方法探索vv4csldy.doc
文档评论(0)