收藏 分享(赏)

6+多线程与图形图像PPT课件.ppt

上传人:oil007 文档编号:3832536 上传时间:2018-11-20 格式:PPT 页数:21 大小:284.50KB
下载 相关 举报
6+多线程与图形图像PPT课件.ppt_第1页
第1页 / 共21页
6+多线程与图形图像PPT课件.ppt_第2页
第2页 / 共21页
6+多线程与图形图像PPT课件.ppt_第3页
第3页 / 共21页
6+多线程与图形图像PPT课件.ppt_第4页
第4页 / 共21页
6+多线程与图形图像PPT课件.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、Java自考复习,主讲:钱 能,JAVA课程复习1,多线程与图形图像,线程、进程和程序 线程的生命周期及相关方法 线程的应用 Graphics类及应用 字体和颜色的设置 图片的显示 媒体播放,1 线程、进程和程序,线程 计算机执行的最小单位,一个进程在其执行过程中,可以产生多个线程,每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。 进程 进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。 程序 程序是一段静态的代码,它是应用软件执行的蓝本。,2 线程的生命周期及方法,新建,就绪,运行,中断,死亡,进入C

2、PU,等待队列,获得CPU,使用权,1、CPU使用权切换 2、sleep休眠 3、wait等待 4、资源阻塞,1、run方法执行完成 2、强制结束,1、创建线程对象 2、调用start方法启动,public void start():启动线程 public void run():线程的执行任务 public void sleep(int millsecond):休眠 wait() notify()/notifyAll() boolean isAlive():在线程没有进入死亡状态之前,返回true Thread currentThread():当前正在使用CPU资源的线程 interrupt(

3、):用来“吵醒”休眠的线程 setPriority(int grade):设置线程优先级,线程的应用,定义Thread的子类,重写run方法。 class MyThread extends Threadpublic void run() MyThread m=new MyThread(); m.start(); 引用接口Runnable class MyThread implements RunnableThread m=new Thread(this);MyThread()m.start();public void run(),public void run()while(true)/线程的

4、任务描述tryThread.sleep(800);/休眠catch(InterruptedException e) ,关键字synchronized,在处理线程同步时,要做的第一件事就是要把修改数据的方法用关键字:synchronized来修饰。 一个方法使用关键字synchronized修饰后,如果一个线程A占有CPU资源期间,使得该方法被调用执行,那么在该同步方法返回之前,即同步方法调用执行完毕之前,其他占有CPU资源的线程一旦调用这个同步方法就会引起堵塞,堵塞的线程要一直等到堵塞的原因消除(同步方法返回),再排队等待CPU资源,以便使用这个同步方法。,Applet,Applet与Appl

5、ication的区别,Applet的生命周期与方法,public void paint(Graphics g) public void update(Graphics g) public void repaint(),加载,初始化,离开浏览器窗口,回到浏览器窗口,关闭浏览器,Graphics类,drawString(String string, int x, int y) drawChars(char chars, int offset, int number, int x, int y) drawBytes(byte bytes, int offset, int number, int x,

6、 int y) drawLine(int x1, int y1, int x2, int y2) drawRect(int x, int y, int width, int height) fillRect(int x, int y, int width, int height) drawOval(int x, int y, int width, int height) fillOval(int x, int y, int width, int height) clearRect(int x, int y, int width, int height) drawRoundRect(int x,

7、 int y, int width, int height, int arcWidth, int arcHeight) fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight),字体Font和颜色Color的设置,字体设置 Font f=new Font(“隶书”,Font.BOLD,28); g.setFont(f); 颜色设置 Color c=new Color(10,10,10); g.setColor(c); /g.setColor(Color.RED);,图片的显示,Image ge

8、tImage(URL url,String name) public URL getCodeBase() public URL getDocumentBase() drawImage(Image img,int x,int y,ImageObserver observer) drawImage(Image img,int x,int y,int width ,int height , ImageObserver observer),媒体播放,使用Applet的一个静态的方法:newAudioClip(URL url,String name)或Applet类的实例方法:getAudioClip(

9、Url url,String name)根据参数url提供的地址,以及该处的声音文件name,可以获得一个用于播放的音频对象(AudioClip类型对象)play() 播放声音文件loop() 循环播放stop() 停止播放,7.一般的绘图程序要定义一个JPanel子类。在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是( ) 2009.1 A.paint() B.paintComponent() C.repaint() D.update() 8.用Runnable接口实现多线程的主要工作是( ) A.声明实现Runnable接口的类,在类内实现r

10、un()方法,让线程调用start()方法。 B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启动新线程。 C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在Init()方法或start()方法中创建新线程,在start()方法中启动新线程。 D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。 7设已经有Graphics2D对象g2d,Rectangle2D对象r,绘制对象r的代码是( ) 2009.10 Ag2

11、d.draw(r) Bg2d.drawRect Cr.draw() Dr.drawRect(),8在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是( )Astart() Binit() Cresume() Drun() 7以下不属于文字字型要素的是 ( )2010.1 A颜色 B字体 C风格 D字号 8在以下四个供选的整数中,能作为线程最高优先级的整数是 ( ) A0 B1 C10 D11 7.小程序要播放音频文件,可使用类( )2010.10 A.Audio B.Jaudio C.AudioClip D.JAudioClip 8.以下是关于线程的叙述,正确的是( ) A.多线程

12、的使用可以提高设备的平行工作能力,但是使系统管理变得复杂 B.同一个进程下的线程都有自己的状态、专用数据段和独立的内存资源 C.线程是能独立运行的程序 D.进程的执行效率比线程的执行效率高,7.Java语言规定,程序绘图区域的坐标原点位于整个区域的( ) A.左上角 B.右上角 C.左下角 D.右下角 2011.1 8.以下关于线程互斥和同步的叙述中,正确的是( ) A.多线程互斥使用各自资源的程序段,在操作系统中称为临界段 B.临界段的作用是使某线程能够使用其它线程的资源 C.可以使用notify()方法通知等待线程结束等待 D.线程的互斥和同步可以很好地解决死锁问题 7设已经有Graphi

13、cs2D对象g2d,Line2D对象line,绘制对象line的代码是( )2011.10Ag2ddraw(1ine) B.g2ddrawLine(1ine)C1inedraw() D.1inedrawLine() 8设Thread对象thd的优先级为7,thd又创建了另一个Thread对象chd,如果未对chd 的优先级进行修改,则chd的优先级为 ( )A1 B. 5 C7 D. 10,7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( )2012.1 A.g2d.draw(rRect) B.g2d.drawRoundR

14、ect(rRect) C.rRect.draw() D.rRect.drawRoundRect() 8.以下关于线程互斥和同步的叙述中,正确的是( ) A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源 C.互斥和同步能很好地解决死锁问题 D.可用notify()方法让等待线程结束等待 7. 以下不属于文字字型要素的是2012.10 A. 字体B. 风格C. 字号 D. 颜色 8. 阻塞状态的线程在消除引起阻塞的原因后,会转入 A. 死亡状态B. 开始状态C. 就绪状态 D. 运行状态,17.在Java语言中,用类Font对象设置字型。如果要设置的字型是:细明体、正常风

15、格(Font.PLAIN),12磅字号,构造这样要求的Font对象fnA的代码是_。2009.1 18.线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复和用_方法恢复。 17Java语言约定,坐标原点位于绘图区域的_。2009.10 18Java程序中,在临界段中使用_方法,使执行该方法的线程等待。 17要在JComponent 子类的组件中绘图,应重写_方法。2010.1 18当线程使用完临界段后,为了使等待的线程恢复工作,需要调用的方法是_。 17.在某个组件中绘图,一般应该为这个组件所属的子类重写_方法。2010.10 18.多线程互斥使用_的程序段,在操作

16、系统中称为临界段。,17.Java语言的绘图模式有两种,它们是正常模式和_。 18.当线程处于新建状态后,调用了start()方法,该线程就处于_状态。2011.1 17在Graphics类中,用于在指定的位置显示字符串的方法是 _ 。2011.10 18在Java中,线程的调度策略采用_,优先级高的线程比优先级低的优先执行。 17.在异或模式下绘图时,实际绘制的颜色是由当前正要绘制的颜色、原先绘制的颜色,以及_作特定的运算确定的。2012.1 18.多线程程序设计中,让执行临界段程序时等待的线程结束等待,通常使用的方法有resume()、notify()或者_。 17. Java语言的图像处

17、理功能被封装在_类中。 18. 线程之间的相互等待被称为线程的_。2012.10,24.要用Graphics2D类的方法画一个图形,首先要把参数对象g强制转换成Graphics2D对象;然后,用图形类提供的静态方法Double()创建一个图形对象;最后,以图形对象为参数调用Graphics2D对象的draw()方法绘制这个图形。请写出用这样的方法绘制一条线段的程序段,线段的两个端点分别是(10.0,10.0)和(30.0,30.0)。 24写出设置Font对象fn的Java语句,要求Courier字体,BOLD风格,18磅字号,设调用对象的类型为Graphics的g。 2010.1 24设已经

18、有Graphics2D对象g2d, 请用Java语句绘制一个矩形rect,其左上角坐标是(20,30),宽是120,高是30。 2010.10 25.请写出用Runnable接口实现多线程的主要工作。 24.请写出java.applet.AudioClip控制声音播放的三个方法。2011.1 25请写出线程从阻塞状态恢复到就绪状态的三种途径。2011.10 25.由于创建输出流对象时,可能会出现IOException异常,所以创建输出流对象的代码必须出现在try-catch语句结构中。请写出为当前目录下的myFile.dat文件创建缓冲输出流对象outs的代码。2012.1 24. 请写出使用Graphics2D类声明并创建一个左上角为(30,40),宽是80,高为50的椭圆对象ellipse的语句。2012.10,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报