22java视频教程-多线程程序设计.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * 第22讲 多线程程序设计 线程的概念 线程的创建 线程调度与线程控制 线程状态与生命周期 多线程与并发编程 把一个问题切割分成多个可独立运行的部分,从而提高程序的相应能力。 在程序中,这些彼此独立运行的部分称之为线程(thread),线程共享存储空间 JVM允许应用程序并发执行多个线程 * * 程序与进程 程序 是指令的集合,包括对数据的描述以及对数据的操作,告诉计算机如何完成一个任务。 进程 进程通常被认为是一个程序的一次动态执行过程。 一个进程具有一组完整的、私有的基本运行时资源,特别是内存空间是独立的,不会与其他进程共享。 * 线程 线程是进程中的一个执行流(一组程序指令的顺序流),线程是处理器的调度单位。 一个进程包含一个或多个线程。它们共享该进程的资源(如:内存和打开的文件等)。程序的执行从一个线程开始,这个线程称为主线程。 JAVA可以实现一个进程中多线程的”并发”执行,从而使一个进程”同时”执行多个任务。 在多处理器(或多核)系统中,这种并发是真实的。在单处理器系统中,这种并发是通过线程的交替执行来模拟的。 线程的状态 新建-new 就绪-runnable 运行-running 阻塞-locking 睡眠-sleeping 等待-waiting 中止-dead * 线程状态及其变迁 终止 就绪 (可运行) 运行 睡眠 拥塞 等待 新建 start time over sleep stop wait time over Lack of source ready attemper 创建可执行线程 创建java.lang.Thread类的子类 重写Thread父类的run()方法 通过子类的实例化, 调用start()方法执行线程 创建java.lang.Runnable接口的实现类 实现类必须实现run()方法 用实现类的实例作为参数,调用Thread类的构造器 再通过调用Thread类的start()方法创建并运行线程 * * Java线程类Java.lang.Thread Thread类的实例就是线程,用户通过编写Thread的子类来构造自己的线程。 public UserThread extends Thread{ …… public void run(){//override run方法 } …… } * 通过编写Thread的子类创建线程示例 Class Xyz extends Thread{ int i ; //线程的数据定义 public void run( ){ //线程的代码定义(覆盖run方法) while( true){ System.out.println(“Hello”+i++); if (i==5) break ; } } } public class ThreadTest{ public static void main(String args[ ]){ Thread t = new Xyz( ); //直接实例化Thread的子类Xyz创建线程 t.start( ); //启动线程 } } * Java线程接口java.lang.Runnable Runnable的定义: public interface Runnable{ void run(); } 该接口只定义了一个run()方法。 定义一个类实现Runnable接口 public UserRun implements Runnable{ …… public void run(){ //implement run方法 } } * 通过实现Runnable接口创建线程 定义一个类实现Runnable接口。 class UserRun implements Runnable 将该类的实例作为参数传给Thread类的构造方法,从而创建一个线程对象,并通过该对象调用start方法启动线程执行。 Runnable runner = new new UserRun(); Thread t = new Thread(runner); t.start(); * 通过实现Runnable接口线程创建示例 Class Xyz implements Runnable{ int i ; //线程的数据定义 public void run( ){ //线程的代码定义(实现run方法) while( true){ System.out.println

文档评论(0)

考试教学资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档