java实验报告(多线程的应用)

实验名称: 多线程的应用 实验地点:
所使用的工具软件及环境:
环境:Windows 8.1;jdk 1.8;
工具:eclipse

实验目的:
掌握线程的生命周期及状态迁移,学会如何创建线程,掌握线程的调度策略,线程优先级和线程同步

1、编写applet程序,其中包含一个滚动的字符串,字符串从左向右移动,当所有的字符都从屏幕的右边消失后,字符串重新从左边出现并继续向右移动。
2、编写一个applet内部显示一个蓝色反弹球的程序,通过一个事件使该球运动,当该球撞击applet边框时,它应从边框弹向相反方向运动。
源程序:
import javax.swing.JApplet;
import java.awt.;
import java.applet.
;

public class bull extends Applet implements Runnable {
/**
* Create the applet.
*/
int x,y;
public bull() {
}
Thread bull_Draw =null;
public void init()
{
bull_Draw =new Thread(this);
}
@Override
public void paint(Graphics g)
{
g.setColor(Color.blue);
g.fillOval(x, y, 20, 20);
}
public void start()
{
bull_Draw.start();
try {
Thread.sleep(50);
}
catch(InterruptedException e)
{}
}
public void stop()
{
if(bull_Draw.isAlive())
bull_Draw.stop();
}
public void run() {
int dx=(int)(Math.random()*10)%2+3;
int dy=(int)(Math.random()*10)%2+3;
try{
while(true)
{
x=x+dx;
y=y+dy;
if(x>getWidth()-30||x<0)
dx=-dx;
if(y>getHeight()-30||y<0)
dy=-dy;
repaint();
Thread.sleep(100);
}
}
catch(InterruptedException e){}
}
}

实验结果与体会:
结果:
java实验报告(多线程的应用)_第1张图片
体会:
实验四是对多线程的相关练习。多线程使程序一个时刻处理多个问题,但cpu每个时刻只能处理一个问题,所以多线程其实是把时间分成了许多小段,分开执行不同的线程,使其看起来在同时运行。
创建线程必须继承Thread class,它已经为线程的创建和运行做了必要的配置。
Run()方法所包含的代码就是和其他线程同时运行的代码,以达到同一时段运行多端代码的目的。
Sleep()使当前的线程暂停用户设置的毫秒,以达到控制字符速度的目的。
setPrioity()可以设置线程的优先级别,分为高中低三档,cpu会尽量执行优先级高的线程。

你可能感兴趣的:(java实验报告(多线程的应用))