多线程与图形图像.ppt
《多线程与图形图像.ppt》由会员分享,可在线阅读,更多相关《多线程与图形图像.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、E-mail:QQ:723975921Office:J021106Theres No Such Thing as a Free LunchJava自考复习自考复习主讲:钱 能JAVAJAVA课程复习课程复习1 1Theres No Such Thing as a Free Lunch 多线程与图形图像多线程与图形图像线程、进程和程序线程、进程和程序线程的生命周期及相关方法线程的生命周期及相关方法线程的应用线程的应用Graphics类及应用类及应用字体和颜色的设置字体和颜色的设置图片的显示图片的显示媒体播放媒体播放Theres No Such Thing as a Free Lunch 1 线程
2、、进程和程序线程、进程和程序线程线程计算机执行的最小单位,一个进程在其执行过程中,可以产生多个线程,每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。进程进程进程进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。程序程序程序程序是一段静态的代码,它是应用软件执行的蓝本。Theres No Such Thing as a Free Lunch 2 线程的生命周期及方法线程的生命周期及方法新建新建就绪就绪运行运行中断中断死亡死亡进入CPU等待队列获得CPU使用权1、CPU使用权切换使用权切换2、sleep休眠
3、休眠3、wait等待等待4、资源阻塞、资源阻塞1、run方法执行完成方法执行完成2、强制结束、强制结束1、创建线程对象、创建线程对象2、调用、调用start方法启动方法启动Theres No Such Thing as a Free Lunch public void start()public void start():启动线程:启动线程public void run()public void run():线程的执行任务:线程的执行任务public void sleep(int millsecond)public void sleep(int millsecond):休眠:休眠wait()w
4、ait()notify()/notifyAll()notify()/notifyAll()boolean isAlive()boolean isAlive():在线程没有进入死亡状:在线程没有进入死亡状态之前,返回态之前,返回truetrueThread currentThread()Thread currentThread():当前正在使用:当前正在使用CPUCPU资源的线程资源的线程interrupt()interrupt():用来:用来“吵醒吵醒”休眠的线程休眠的线程setPriority(int grade)setPriority(int grade):设置线程优先级:设置线程优先级T
5、heres No Such Thing as a Free Lunch 线程的应用线程的应用定义定义ThreadThread的子类,重写的子类,重写runrun方法。方法。class MyThread extends Threadclass MyThread extends Thread public void run()public void run()MyThread m=new MyThread();m.start();MyThread m=new MyThread();m.start();引用接口引用接口RunnableRunnableclass MyThread implements
6、 Runnableclass MyThread implements Runnable Thread m=new Thread(this);Thread m=new Thread(this);MyThread()m.start();MyThread()m.start();public void run()public void run()public void run()while(true)/线程的任务描述 try Thread.sleep(800);/休眠 catch(InterruptedException e)Theres No Such Thing as a Free Lunch 关
7、键字关键字synchronizedsynchronized在处理线程同步时,要做的第一件事就是要把在处理线程同步时,要做的第一件事就是要把修改数据的方法用关键字:修改数据的方法用关键字:synchronizedsynchronized来修来修饰。饰。一个方法使用关键字一个方法使用关键字synchronizedsynchronized修饰后,如修饰后,如果一个线程果一个线程A A占有占有CPUCPU资源期间,使得该方法被资源期间,使得该方法被调用执行,那么在该同步方法返回之前,即同调用执行,那么在该同步方法返回之前,即同步方法调用执行完毕之前,其他占有步方法调用执行完毕之前,其他占有CPUCPU
8、资源资源的线程一旦调用这个同步方法就会引起堵塞,的线程一旦调用这个同步方法就会引起堵塞,堵塞的线程要一直等到堵塞的原因消除(同步堵塞的线程要一直等到堵塞的原因消除(同步方法返回),再排队等待方法返回),再排队等待CPUCPU资源,以便使用资源,以便使用这个同步方法。这个同步方法。Theres No Such Thing as a Free Lunch AppletApplet与与Application的区别的区别Theres No Such Thing as a Free Lunch Applet的生命周期与方法的生命周期与方法public void paint(Graphics g)publ
9、ic void update(Graphics g)public void repaint()加载加载初始化初始化离开浏览器窗口离开浏览器窗口回到浏览器窗口回到浏览器窗口关闭浏览器关闭浏览器Theres No Such Thing as a Free Lunch 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,int y)drawLine(in
10、t 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,int y,int width,int height,int arcWidth,int
11、 arcHeight)fillRoundRect(int x,int y,int width,int height,int arcWidth,int arcHeight)Theres No Such Thing as a Free Lunch 字体字体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);Theres No Such Thing as
12、a Free Lunch 图片的显示图片的显示Image getImage(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)Theres No Such Thing as a Free Lunch 媒体播放媒体播放使用使用Applet的一个静
13、态的方法:的一个静态的方法:newAudioClip(URL url,String name)或或Applet类的实例方法:类的实例方法:getAudioClip(Url url,String name)根根据据参参数数url提提供供的的地地址址,以以及及该该处处的的声声音音文文件件name,可可以以获获得得一一个个用用于于播播放放的的音音频频对象(对象(AudioClip类型对象)类型对象)play()播放声音文件播放声音文件 loop()循环播放循环播放 stop()停止播放停止播放Theres No Such Thing as a Free Lunch 7.一般的绘图程序要定义一个一般的
14、绘图程序要定义一个JPanel子类。在子类。在JPanel子类中还要重子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是重定义的方法是()2009.1A.paint()B.paintComponent()C.repaint()D.update()8.用用Runnable接口实现多线程的主要工作是接口实现多线程的主要工作是()A.声明实现声明实现Runnable接口的类,在类内实现接口的类,在类内实现run()方法,让线程调方法,让线程调用用start()方法。方法。B.声明实现声明实现Runnable接口的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多线程 图形图像
限制150内