欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Java的多线程机制与IO操作.ppt

    • 资源ID:6509903       资源大小:328.99KB        全文页数:18页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java的多线程机制与IO操作.ppt

    第9章Java的多线程机制与I/O操作,2,主要内容,Java多线程机制Java图形界面编程Java文件操作,3,9.1 多线程机制的含义,线程是一个程序中的一个执行流,多线程是指一个程序中包含有多个执行流。线程和进程一样,都是实现并发操作的基本单位,线程和进程的差别主要体现在:同为基本的执行单位,线程的划分比进程小;进程占有独立的内存资源,而线程具有共享的“堆”独立的“栈”,线程可以利用“堆”来完成线程间的通信。Web编程(如下载,HTTP服务等)要求具有多线程机制。,4,9.2 多线程机制的实现,Java提供了两种线程编程机制继承Thread类方法常用于Java应用程序中示例:CounterApplication.java实现接口Runnable常用于Java applet程序中示例:CounterApplet.java CounterApplet.html运行:appletviewer CounterApplet.html示例:MultiThread.java,5,9.2 多线程机制的实现,线程竞争与同步多个线程可能会存取同一实例变量,造成线程竞争。解决办法是采取同步机制通过synchronized实现资源同步代码段同步格式如下:synchronized(someObject)/代码 方法同步示例:CounterApplet1.java CounterApplet1.html,6,9.3 Thread类,构造函数public Thread()常量MAX_PRIORITY MIN_PRIORITY NORM_PRORITY优先级110方法public final void setName(String name)public final void String getName()public static int activeCount()public native synchronized void start()public final void suspend(),7,9.4 线程的生命同期,线程生命周期中的状态转换图,8,9.4 线程的生命同期,堵塞(blocked)sleep()方法suspend()与resume()方法示例:ThreadTest2.java ThreadTest3.javawait()与notify()方法示例:ThreadTest5.java ThreadTest4.javaI/O堵塞示例:MyClass1.java,9,9.5 创建用户界面,AWT(Abstract Window Toolkit)是API为Java 程序提供的建立GUI工具集AWT可用于Java的applet和applications中。AWT支持图形用户界面编程的功能包括:用户界面组件;事件处理模型;图形和图像工具;布局管理器;数据传送类。,10,9.5 创建用户界面,java.awt包提供了的GUI设计工具。主要包括:组件Component组件是以图形化的方式显示在屏幕上并能与用户进行交互的对象,如按钮、标签等。组件不能独立地显示,必须放在一定的容器中才可以显示出来。类是许多组件类的父类,Component类中封装了组件通用的方法和属性,如组件对象、大小、显示位置、前景色和背景色、边界、可见性等容器Container容器(Container)也是一个类,是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和容器。常用的有Panel,Frame,Applet。布局管理器LayoutManager每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。布局管理器主要包括:FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout,11,9.5 创建用户界面,注意1Frame是一个顶级窗口。Frame的缺省布局管理器为BorderLayout。2Panel无法单独显示,必须添加到某个容器中。Panel的缺省布局管理器为FlowLayout。3当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以有自己的布局管理器。因此,可以利用Panel使得BorderLayout中某个区域显示多个组件,达到设计复杂用户界面的目的。4如果采用无布局管理器setLayout(null),则必须使用setLocation(),setSize(),setBounds()等方法手工设置组件的大小和位置,此方法会导致平台相关,不鼓励使用。示例:MyFrame.java,12,9.5 创建用户界面,AWT事件处理模型要能够让图形界面接收用户的操作,就必须给各个组件加上事件处理机制。在事件处理的过程中,主要涉及三类对象:Event事件,用户对界面操作的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。Event Source事件源,事件发生的场所,通常就是各个组件,例如按钮Button。Event handler事件处理者,接收事件对象并对其进行处理的对象。,13,9.5 创建用户界面,AWT事件处理模型Java采取了授权处理机制 事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理事件处理者(监听器)通常是一个类,该类如果要能够处理某种类型的事件,就必须实现与该事件类型相对的接口。将事件源对象和事件处理器分开 使用授权处理模型进行事件处理的一般方法1对于某种类型的事件XXXEvent,,要想接收并处理这类事件,必须定义相应的事件监听器类,该类需要实现与该事件相对应的接口XXXListener;2事件源实例化以后,必须进行授权,注册该类事件的监听器,使用addXXXListener(XXXListener)方法来注册监听器。示例:MyEventHandle.java,14,9.5 创建用户界面,AWT采用了与特定平台相关的实现,图形用户接口欠佳Java基础类(JFC)Swing是第二代GUI开发工具集,与AWT的重量级组件不同,Swing中大部分是轻量级组件Swing是构筑在AWT上层的一组GUI组件的集合,为了保证可移植性,它完全用Java语言编写Swing提供了更完整的组件,引入了许多新的特性和能力 Swing提供了更多的组件库,如:JTable,JTree,Jcombox Swing增强了AWT中组件的功能JComponent类是Swing组件的基类,而JComponent继承自 Container类,因此,所有的Swing组件都是AWT的容器 Swing采用了MVC设计模式示例:SwingUI.java,15,9.6 应用程序对文件的访问,JAVA的输入输出是以流(Stream)来方式来处理的流是在计算机输入、输出操作中流动的数据序列java.io包中包括许多类提供许多有关文件的各个方面操作,其中File类主要用于文件操作利用构造函数File(string path,string filename)等创建出File 对象;利用canRead()、canWrite()、getParent()、getPath()、isDirectory()等成员函数实现对文件的各个属性的操作。在文件读写的编程过程中主要应该注意异常处理示例:FileTest.java,16,9.6 应用程序对文件的访问,输入输出抽象基类InputStream/OutputStream 实现文件内容操作的基本功能函数read()、write()、close()、skip()等一般都是创建出其派生类对象(完成指定的特殊功能)来实现文件读写FileInputStream/FileOutputStream用于本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象);本地文件读写编程的基本过程为:生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类);调用FileInputStream或FileOutputStream类中的功能函数如read()、write(int b)等)读写文件内容;关闭文件(close())。示例:FileIO.java,17,小结,Java多线程机制Java图形界面设计Java输入/输出操作,18,课后练习,比较线程与进程的异同?Java的两种线程编程机制是怎样实现的?画出线程状态转换图。编程利用线程同时显示三个时钟。建立文件,并写入一首唐诗,然后显示文件内容。要求用图形用户界面输入与输出。,

    注意事项

    本文(Java的多线程机制与IO操作.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开