• / 28
  • 下载费用:10 金币  

第7章 java多线程.ppt

关 键 词:
第7章 java多线程.ppt
资源描述:
1,多线程,第7章,2,本章内容,线程的概念模型 线程的创建和启动 线程的状态控制 线程的同步,3,什么是进程,进程就是一个在内存中独立运行的程序,有自己的地址空间 。如正在运行的写字板程序就是一个进程 “多任务”:指操作系统能同时运行多个进程(程序)。如WIN2K系统可以同时运行写字板程序、画图程序、WORD、EXCEL等,4,什么是线程,线程:是进程内部单一的一个顺序控制流。 线程和进程 每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。 线程: 轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小。 多线程: 在同一个进程中有多个顺序流同时执行,5,,线程的概念模型,虚拟的CPU,由java.lang.Thread类封装和虚拟CPU所执行的代码,传递给Thread类对象。CPU所处理的数据,传递给Thread类对象。,,,代 码,数 据,虚拟CPU,,Java线程模型,6,多线程,,文件,输入输出装置,各种系统资源,,数据区段,,程序区段,,只有一个地方在执行,,文件,输入输出装置,各种系统资源,,程序区段,,同时有数个地方在执行,,,,,传统的进程,多线程的任务,,7,主线程,在任何Java程序启动时,一个线程立刻运行(即main方法对应的线程),该线程通常称为程序的主线程。 主线程的特点: 它是产生其他子线程的线程。 它不一定是最后完成执行的线程,子线程可能在它结束之后还在运行。,8,线程体,Java的线程是通过java.lang.Thread类来实现的。 每个线程都是通过某个特定Thread对象所对应的方法run( )来完成其操作的,方法run( )称为线程体(即线程的可执行代码)。,9,创建线程,有两种方法用来创建线程: 声明一个 Thread 类的子类,并覆盖 run() 方法。 class mythread extends Thread {public void run( ) {/* 覆盖该方法*/ }} 声明一个实现 Runnable 接口的类,并实现 run() 方法。 class mythread implements Runnable{public void run( ) {/* 实现该方法*/ }} 用start()方法启动线程: Thread t1 = new Thread(); T1.start();,10,java.lang.Thread类,这个类包含了创建和运行线程所需的一切东西 构造函数: public Thread(); public Thread(Runnable target); public Thread(String name); 参数说明: name:新线程对象的名字,11,java.lang.Thread类 2-1,常用方法: public void start();//启动该线程,将导致run方法被自动调用。该方法将立即返回,新线程将运行 public void run();//必须覆盖该方法,在方法体中添加你想要在该线程中执行的代码 public static void sleep(long millis) throws InterruptedException;//使当前正在执行的线程睡眠指定的时间 public void interrupt();//用于将一个中断请求发送给线程 public static boolean interrupted();//用于测试当前线程(即正在执行该指令的线程)是否已经被中断 public boolean isInterrupted();//用于测试某个线程是否已经被中断 public final boolean isAlive();//用于测试某个线程是否还活着 public final void setPriority(int newPriority);//设置线程的优先级,12,java.lang.Thread类 2-2,public final void join(long millis) throws InterruptedException;//使某个线程等待指定的时间。调用某线程的该方法,将当前线程与该线程“合并”,即等待该线程结束,再恢复当前线程的运行。 public final int getPriority() ; //获得线程的优先级 public static Thread currentThread();返回代表当前正在执行的线程的Thread对象 public static void yield() ;使当前正在执行的线程临时暂停,以使其它的线程运行 public final void wait(long timeout) throws In
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:第7章 java多线程.ppt
链接地址:https://www.weizhuannet.com/p-10036146.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

微传网博客

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开