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

第1讲-多线程.ppt

关 键 词:
第1讲-多线程.ppt
资源描述:
第1讲 多线程,学习目标,理解线程的定义。 掌握线程的两种创建方法。 掌握线程的生命期及状态转换。 理解线程的同步和通信。 掌握线程控制的一些方法。,概述,进程和线程 单线程和多线程,进程和线程,进程:程序是静态的代码,进程是处于运行过程中程序,具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位。进程的三个特征:独立性、动态性和并发性。 线程:一个进程中可以包含一个或多个线程,一个线程就是一个程序内部的一条执行线索。当进程被初始化后,主线程就被创建了。线程可以共享内存单元和系统资源,但不能够单独执行,必须存在于某个进程当中。 线程的调度和管理由进程本身负责完成。 多线程应用:一个浏览器必须能够同时下载多个图片;一个web服务器必须能同时响应多个用户请求;Java虚拟机本身在后台提供了一个超级线程来进行垃圾回收;图形用户界面需要启动单独的线程来从主机环境收集用户界面事件。,单线程和多线程,单线程:一个进程中只包含一个线程,也就是说一个程序只有一条执行路线。 多线程:在单个进程中可以同时运行多个不同的线程执行不同的任务。 示例:SingleThread.javaMultiThread.javaThreadDemo1.java,执行多线程的时候,Java虚拟处理机在多个线程之间轮流切换,对于单CPU来说每个时刻只能有一个线程在执行 。 main方法是Java的入口程序,一旦进入就启动了一个main线程 。 即使main方法执行完最后一句, Java程序也会一直等到所有线程都运行结束后才停止 。,多线程的创建,线程体继承Thread子类创建线程使用Runnable接口创建线程两种创建方法的比较,线程体,线程中真正执行的语句块称为线程体。 方法run()就是一个线程体,在一个线程被建立并初始化以后,系统自动调用run()方法。 开始启动线程的方法是start()方法。run()方法是供start()调用的,不能直接自己调用,否则就不是启动线程了而是和调用普通方法一样。,继承Thread类创建线程,继承Thread类并重写其中的方法run( )来实现,把线程实现的代码写到run( )方法中,线程从run( )方法开始执行,直到执行完最后一 行代码时线程消亡。编程练习:创建并运行三个线程: 第一个线程打印a 100次。 第二个线程打印b 100次。 第三个线程打印1-100的整数。,后台线程与联合线程,setDaemon(boolean on)方法是把调用该方法的线程设置为后台线程。线程默认为前台线程,也就是用户线程。 把一个线程设置为后台线程时,后台线程在所有前台线程运行完毕,如果它的run()方法还没执行结束,后台线程也会立刻结束。把一个线程设置为后台线程方式如下:setDaemon(true),必须在启动前设为后台线程。 pp.join()方法是把pp线程合并到调用此语句所在的线程中去。,实现Runnable接口创建线程,举例:编写一个应用程序模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点要用一个线程来表示。 采用该方式来创建线程,必须使用Thread 类的构造方法,把采用Runnable接口类的对象作为参数封装到线程对象当中。,两种创建方法的比较,利用Runnable接口,可以避免由于Java的单继承特性带来的局限。 利用Runnable接口,适合多个线程去处理同一资源的情况,从而把虚拟CPU、代码和数据有效分离,形成清晰的模型,较好的体现了面向对象的思想。 有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。当多个线程的执行代码来自同一个类的实例时,即称它们共享相同的代码。多个线程可以操作相同的数据,与它们的代码无关。当共享相同的对象时,即共享相同的数据。 实际编程时都是采用实现Runnable接口的方式来实现多线程。,线程的生命期及其状态,线程的状态线程的状态转换图与线程状态有关的Thread类的方法,线程的状态,线程的生命期是指从线程被创建开始到死亡的过程。通常包括以下5种状态: 新建状态 就绪状态 运行状态 阻塞状态 死亡状态,新建状态,当用Thread类或其子类创建了线程对象时,该线程对象就处于新建状态,系统为该新线程分配了内存空间和其他资源。,就绪状态,线程就绪排队等待CPU调度的状态。有以下情况使得线程进入就绪状态: 新建状态的线程被启动,但不具备运行的条件; 处于正在运行的线程时间片结束; 调用yield()方法主动放弃CPU资源; 被阻塞的线程引起阻塞的因素消除了,进入队列等待CPU的调度。,运行状态,当线程被调度获得了CPU控制权的时候,就进入了运行状态。线程在运行状态时,会调用本对象的run()方法 。,阻塞状态,当运行的线程被人为挂起或由于某些操作使得资
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

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

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

微传网博客

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

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

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

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

收起
展开