1113线程Word文档下载推荐.docx

上传人:b****4 文档编号:7593165 上传时间:2023-05-08 格式:DOCX 页数:17 大小:17.19KB
下载 相关 举报
1113线程Word文档下载推荐.docx_第1页
第1页 / 共17页
1113线程Word文档下载推荐.docx_第2页
第2页 / 共17页
1113线程Word文档下载推荐.docx_第3页
第3页 / 共17页
1113线程Word文档下载推荐.docx_第4页
第4页 / 共17页
1113线程Word文档下载推荐.docx_第5页
第5页 / 共17页
1113线程Word文档下载推荐.docx_第6页
第6页 / 共17页
1113线程Word文档下载推荐.docx_第7页
第7页 / 共17页
1113线程Word文档下载推荐.docx_第8页
第8页 / 共17页
1113线程Word文档下载推荐.docx_第9页
第9页 / 共17页
1113线程Word文档下载推荐.docx_第10页
第10页 / 共17页
1113线程Word文档下载推荐.docx_第11页
第11页 / 共17页
1113线程Word文档下载推荐.docx_第12页
第12页 / 共17页
1113线程Word文档下载推荐.docx_第13页
第13页 / 共17页
1113线程Word文档下载推荐.docx_第14页
第14页 / 共17页
1113线程Word文档下载推荐.docx_第15页
第15页 / 共17页
1113线程Word文档下载推荐.docx_第16页
第16页 / 共17页
1113线程Word文档下载推荐.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

1113线程Word文档下载推荐.docx

《1113线程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《1113线程Word文档下载推荐.docx(17页珍藏版)》请在冰点文库上搜索。

1113线程Word文档下载推荐.docx

right=newRighthand();

left.start();

right.start();

}

}

classLefthandextendsThread

publicvoidrun()

for(inti=0;

i<

=5;

i++)

{

System.out.println("

Iamastudent"

);

try

{

sleep(500);

}

catch(InterruptedExceptione)

}

classRighthandextendsThread

Iamopoookkkkk"

5.线程生命周期

A.new新建

B.start启动/就绪

C.run()运行线程处于自动调用业务逻辑

D.sleep阻塞

E.死亡方法执行完毕实现run()方法

6.调用机制:

同级别的采用先到服务的原则,线程的级别继承父线程(程序的主线程

)主线程一般具有普通优先级

不同级别的按照优先级的顺序

//实现Runnable接口的实例

importjava.applet.*;

importjava.awt.*;

publicclassExample2extendsjava.applet.AppletimplementsRunnable

ThreadcircleThread;

publicvoidstart()

if(circleThread==null)

circleThread=newThread(this);

circleThread.start();

while(circleThread!

=null)

repaint();

try

circleThread.sleep(1000);

catch(InterruptedExceptione)

publicvoidpaint(Graphicsg)

doublei=Math.random();

if(i<

0.5)

g.setColor(Color.red);

else{

g.setColor(Color.black);

g.fillOval(100,100,(int)(100*i),(int)(100*i));

publicvoidstop()

circleThread.yield();

circleThread=null;

newExample2();

//是一个应用程序,这个应用程序在创建窗口的同时有创建一个新的线程,该程序负责让窗口只能够的一个按钮改变他的大小

importjava.awt.event.*;

publicclassExample3

Mywinwin=newMywin();

classMywinextendsFrameimplementsRunnable

Buttonb=newButton("

ok"

intx=5;

Threadbird=null;

Mywin()

setBounds(100,100,120,120);

setLayout(newFlowLayout());

setVisible(true);

add(b);

b.setBackground(Color.green);

bird=newThread(this);

bird.start();

while(true)

x=x+1;

if(x>

100)x=5;

b.setBounds(40,40,x,x);

bird.sleep(200);

catch(InterruptedExceptione){

//滚动字幕线程

publicclassExample4extendsjava.applet.AppletimplementsRunnable

intx=0;

ThreadScrollwords=null;

publicvoidinit()

setBackground(Color.cyan);

setForeground(Color.red);

setFont(newFont("

TimesRman"

Font.BOLD,18));

if(Scrollwords!

Scrollwords=newThread(this);

Scrollwords.start();

while(Scrollwords!

x=x+5;

500)

x=0;

try{Scrollwords.sleep(80);

Scrollwords.yield();

Scrollwords=null;

newExample4();

//带滚动字符的小字典

publicclassExample5extendsAppletimplementsActionListener,Runnable

TextFieldtext1,text2;

ThreadScrollwords=null;

publicvodiinit()

text1=newTextField(10);

text2=newTextField(10);

add(newLabel("

输入一个英文单词:

"

));

add(text1);

汉语意思"

add(text2);

text1.addActionListener(this);

publicvoidstart()

g.drawString("

欢迎使用字典"

x,120));

publicvoidstop()

publicvoidactionPerformed(ActionEvente)

if((e.getSource()==text1)&

&

(text1.getText().equals("

boy"

)))

text2.setText("

男孩"

elseif(e.getSource()==text1)&

sun"

太阳"

else

没有该单词"

newExample5();

//下面是一个左手画圆右手画方的列子,

//我吗在主线程中创建了两个线程,:

left,right,其中一个负责画圆,另一个画方。

在这个列子中我们使用了容器类的方法getGraphics()来获取一个Graphics对象(可以理解一个画笔)

publicclassExample6extendsAppletimplementsRunnable

Threadleft,right;

Graphicsmypen;

intx,y;

left=newThread(this);

right=newThread(this);

x=10;

y=10;

mypen=getGraphics();

if(Thread.currentThread()==left)

x=x+1;

if(x>

240)x=10;

mypen.setColor(Color.blue);

mypen.clearRect(10,10,300,100);

mypen.fillRect(10+x,10,50,50);

try{left.sleep(60);

}

catch(InterruptedExceptione)

{

elseif(Thread.currentThread()==right)

y=y+1;

if(y>

240)y=10;

mypen.setColor(Color.red);

mypen.drawOval(10+y,110,50,50);

try{right.sleep(60);

}

left=null;

right=null;

//下面是一个模拟平抛运动,一个求自由落下一个求同时水平抛出,二者同时落地

publicclassExample7extendsAppletimplementsRunnable

Threadredball,blueball;

GraphicsredPen,bluePen;

intt=0;

redball=newThread(this);

blueball=newThread(this);

redPen=getGraphics();

bluePen=getGraphics();

redball.start();

blueball.start();

t=t+1;

if(Thread.currentThread()==redball)

if(t>

100)t=0;

redPen.clearRect(0,0,110,400);

bluePen.fillOval(50,(int)(1.0/2*t*9.8),50,50);

try{redball.sleep(40);

catch(InterruptedExceptione){

elseif(Thread.currentThread()==blueball)

bluePen.clearRect(120,0,900,500);

bluePen.fillOval(120+7*t,(int)(1.0/2*t*9.8),50,50);

try{blueball.sleep(40);

//点击按钮后,每隔半秒中后就发出嘟的一声

publicclassExamples8extendsAppletimplementsActionListener

Toolkittoolkit;

Buttonbutton;

toolkit=getToolkit();

button=newButton("

确定"

add(button);

button.addActionListener(this);

publicvoidactionPerformed(ActionEventew)

if(ew.getSource()==button)

for(inti=0;

=9;

toolkit.beep();

try

Thread.sleep(500);

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2