java多线程编程中Thread类的方法实现多线程
class MyThread extends Thread{
public void run() {
for(int i=0;i<=5;i++) {
try {
System.out.println("exp("+i+")="+Math.exp(i));
Thread.sleep(1000);
}catch(InterruptedException e) {}
}
}
}
class MyThreadTest{
public static void main(String args[]) {
MyThread thread1=new MyThread();
MyThread thread2=new MyThread();
thread1.start();
thread2.start();
try {
for(int k=0;k<=6;k++) {
System.out.println("在主线程中k="+k);
Thread.sleep(600);
}
}catch(InterruptedException e1) {}
}
}
这个程序是一个Java Application,其中定义了两个类,一个是程序的主类MyThreadTest,另外一个是用户自定义的Thread类的子类MyThread。程序的主线程,即MyThreadTest主类的main()方法,它首先创建了两个MyThread子线程对象,并调用start()方法启动这两个子线程对象,使之进入就绪状态。接着主线程继续执行并输出信息表示自己在活动,然后调用sleep()方法是自己休眠一段时间以便子线程获取处理器(因为主线程创建的子线程与之优先级相同,如果主线程不让出处理器,则子线程只能等待主线程完全执行完毕后才能获得处理器),进入运行状态的子线程将输出响应信息,之后也休眠一段时间以便其他线程获得处理器。获得处理器的线程将执行自己的run代码,直到所有代码执行完,返回并结束其运行,之后主线程也结束。
执行结果:
这个代码实现还是很有趣的,大家可以多对书上的代码多敲敲,这样有助于自身的代码功底,不断地打磨自己。