1-线程与其操作.pptVIP

  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文档。上传文档
查看更多
线程及其操作 2.1 线程的实现 2.2 线程的状态和调度 2.3 线程的同步 2.1 线程的实现 并发现象在现代计算机中大量存在; 多任务操作系统提供并发机制; Java提供语言级并发机制,就是内置对多线程的支持,它使得编程人员可以很方便地开发出具有多线程功能,能同时处理多个任务的功能强大的应用程序; 2.1 线程的实现 程序:静态的计算机语言编写的代码; 进程:本质上是一个执行的程序; 每个进程都有独立的代码和数据空间; 线程:程序内部的顺序控制流; 轻量级的进程,同一类线程共享代码和数据空间; 多进程:在操作系统中同时运行多个任务(程序); 多线程:程序中多个片断同时执行; 2.1 线程的实现 2.1 线程的实现 多线程的优势 1、多线程编程简单,效率高; 能直接共享数据和资源(多进程不能) 2、适合于开发服务程序; 如Web服务,聊天服务等 3、适合于开发有多种交互接口的程序; 如聊天程序的客户端,网络下载工具 4、适合于有人机交互又有计算量的程序; 如字处理程序(Word,Excel) 2.1 线程的实现 线程的创建: 1、声明一个 Thread 类的子类,并覆盖(override) run() 方法 class MyThread extends Thread { public void run( ) { // 覆盖run方法 //…… } } 2、声明一个实现 Runnable 接口的类,并实现run() 方法 class MyRunnable implements Runnable{ public void run( ) { //实现run方法 //…… } } 2.1 线程的实现 1、继承Thread类: public class MyThread extends Thread { public void run( ) { // 覆写run()方法 …… } } 产生线程的对象: MyThread newthread= new MyThread(); 启动线程: newthread.start(); 2.1 线程的实现 Thread类的主要方法包括: (1). 多个构造方法; 采用不同的方式在创建新线程对象的时候初始化数据。 (2). void run(); 线程所执行的代码。 (3). void start(); 启动线程对象,使之从新建状态转入就绪状态,多次调用会产生异常。 例:ThreadTest.java 2.1 线程的实现 2、实现 Runnable 接口: class MyRunnable implements Runnable public void run( ) { //实现run()方法 …… } } 产生线程的对象: MyRunnable mr = new MyRunnable(); Thread myThread=new Thread(mr); 启动线程: myThread.start(); 2.1 线程的实现 Runnable接口只有一个方法run( )。 所有实现Runnable接口的用户类都必须具体实现这个run( )方法,并定义具体操作。 使用Runnable接口创建线程的步骤: (1).定义一个实现Runnable接口的类并生成实例。 (2).生成一个Thread类实例。 (3).将生成的Runnable实例作为参数传递给Thread构造方法。 例:RunnableTest.java 2.1 线程的实现 两种线程方法的比较 直接继承Thread的特点是: 编写简单,可以直接操纵线程;但缺点也是明显的,因为若继承Thread类,就不能再继承其他类(因为Java是单重继承的语言)。 使用Runnable接口特点是: 可以将Thread类与所要处理的任务的类分开,形成清晰的模型;还可以从其他类继承。 2.2 线程的状态和调度 2.2 线程的状态和调度 2.2.1 线程的状态 新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态; 就绪:处于新建状态的线程被启动后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件; 运行:当就绪的线程被调度并获得处理器资源时,便进入运行状态, run()方法定义了线程的操作和功能; 阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时

文档评论(0)

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

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

1亿VIP精品文档

相关文档