- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章Java的多线程机制.ppt
第十章 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();
}
};10.2多线程实现
Java中实现多线程应用有两种途径:
创建Thread类的子类
在程序中使用Runnable接口;二、然后用该子类创建一个对象
StudentThread student=new StudentThread();; 主线程;10.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){}
}}}} ;
;10.3线程的属性
10.3.1 线程的生命周期
线程一共有四种状态:新建(new)
可运行状态 (runnable)
死(dead)
堵塞(blocked);可运行状态(runnable)
此时的线程已经启动,控制已处于线程的run()
文档评论(0)