多线程的实现方式
注意多线程的实现有主要以下三种方法:
第一种:继承线程类
第二种:实现runnable方法
第三种:实例化线程池
下面是第一种方法的案例代码:
class Test extends Thread
{
private String id; //获取子线程的id
public Test(String str) //这里是构造函数,用来传递子线程实例化参数
{
id=str;
}
public void run()
{
for(int i=0;i<4;i++)
{
try
{
sleep((int)(1000*Math.random())); //这里亦可以用空循环(for int j=0;j<1000000;j++)来实现延迟,以便观察子线程实例化过程
}
catch(InterruptedException e){}
System.out.println(id+" is running..");
}
}
}
public class app
{
public static void main(String args[])
{
Test dog=new Test("doggy"); //新建的第一个子线程对象
Test cat=new Test("kitty"); //新建的第二个子线程对象
{
private String id; //获取子线程的id
public Test(String str) //这里是构造函数,用来传递子线程实例化参数
{
id=str;
}
public void run()
{
for(int i=0;i<4;i++)
{
try
{
sleep((int)(1000*Math.random())); //这里亦可以用空循环(for int j=0;j<1000000;j++)来实现延迟,以便观察子线程实例化过程
}
catch(InterruptedException e){}
System.out.println(id+" is running..");
}
}
}
public class app
{
public static void main(String args[])
{
Test dog=new Test("doggy"); //新建的第一个子线程对象
Test cat=new Test("kitty"); //新建的第二个子线程对象
// Test horse=new Test("hhy"); 你要多少现成都可以以此类推
dog.start(); //用dog对象来启动线程
cat.start(); //用cat对象来启动线程
System.out.println("main() method finished");
}
}
dog.start(); //用dog对象来启动线程
cat.start(); //用cat对象来启动线程
System.out.println("main() method finished");
}
}