50,530
社区成员
发帖
与我相关
我的任务
分享
package com.java;
public class Myjava21 {
/**
* 多线程 :多个实例同时交替运行
* 1,实现多线程有2种方式
* a,继承 Thread类(类本身也实现了Runnable接口),覆写 run()方法,然后再用 start()方法调用。
* 为什么要用start()方法来调用呢?因为在执行run()前需要做一系列的准备工作,例如检查
* 系统是否支持多线程操作,如果没有抛出异常,则调用run()方法。
* b,实现Runnable接口
* 实现后,必须重写run()方法,但是在Runnable接口中,并无start()方法。所以还必须借助
* Thread类来实现多线程,因为Thread的构造函数为 public Thread(Runnable target)
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("-----用继承Thread来实现多线程---------");
Mythread21 my=new Mythread21("线程A");
Mythread21 my1=new Mythread21("线程B");
my.start();
my1.start();
System.out.println("------用实现Runnable接口来实现多线程---------");
Myth21 m1=new Myth21("线程C");
Myth21 m2=new Myth21("线程D");
Thread t=new Thread(m1);
Thread t1=new Thread(m2);
t.start();
t1.start();
}
}
class Mythread21 extends Thread //用继承的Thread类来实现多线程
{
private String myming;
public Mythread21(String myming)
{
this.myming=myming;
}
public void run()
{
for(int i=0;i<200;i++)
{
System.out.println(this.myming+"正在运行第:"+i+"步");
}
}
}
class Myth21 implements Runnable //实现接口
{
private String myming;
public Myth21(String myming)
{
this.myming=myming;
}
public void run()
{
for(int i=0;i<200;i++)
{
System.out.println(this.myming+"正在运行第:"+i+"步");
}
}
}