文档详情

第七章多钱程机制详解.ppt

发布:2017-04-13约5.8千字共43页下载文档
文本预览下载声明
第七章 Java的多线程机制;程序是一段静态的代码,它是应用程序执行的蓝本;class StudentThread extends Thread { public void run() { for(int i=0;i=5;i++) {System.out.println(You are Students!); try{sleep(500); } catch(InterruptedException e) {… } } } };class TeacherThread extends Thread { public void run() { for(int i=0;i=5;i++) {System.out.println(I am a Teacher!); try{ sleep(300); } catch(InterruptedException e) {…. } }}};public class ThreadTest {static StudentThread student; static TeacherThread teacher; public static void main(String[] args) { teacher=new TeacherThread(); student=new StudentThread(); teacher.start(); student.start(); } };7.2多线程实现 Java中实现多线程应用有两种途径:    创建Thread类的子类    在程序中使用Runnable接口;class StudentThread extends Thread { public void run() { for(int i=0;i=5;i++) {System.out.println(You are Students!); try{sleep(500); } catch(InterruptedException e) {… } } } };二、然后用该子类创建一个对象 StudentThread student=new StudentThread();;7.2.2 Runnable()接口 用Runnable()接口实现多线程时,也必须实现run()方法,也需用start()启动 线程,但此时常用Thread类的构造方法来创建线程对象;例:一个模拟小球平抛和自由落体的例子BallThread.java;public class BallThread extends Applet implements Runnable {Thread red,blue; Graphics redPen,bluePen; int t=0; public void init() {red=new Thread(this); blue=new Thread(this); redPen=getGraphics(); bluePen=getGraphics(); redPen.setColor(Color.red); bluePen.setColor(Color.blue);};public void start() {red.start(); blue.start(); };public void run() {while(true) {t=t+1; if(Thread.currentThread()==red) {if(t100)t=0; redPen.clearRect(0,0,110,400); redPen.fillOval(50,(int)(1.0/2*t*9.8),15,15); try{red.sleep(40);} catch(InterruptedException e){} };else if(Thread.currentThread()==blue) {bluePen.clearRect(120,0,900,500); bluePen.fillOval(120+7*t,(int)(1.0/2*t*9.8),15,15); try{blue.sleep(40);} catch(InterruptedException e){} }}}} ; ;7.3.1
显示全部
相似文档