JAVA中多线程的创建方式(一)
以下的Thread类的方法可以在JAVA API 文档进行查看
没有创建线程的时候
class Test
{
private String name;
Test(String name)
{
this.name = name;
}
public void show()
{
for(int i=0; i<10; i++)
{
System.out.println(name+"...........i="+i);
}
}
}
public class Demo
{
public static void main(String[] args)
{
Test t1 = new Test("旺财");
Test t2 = new Test("小强子");
t1.show();
t2.show();
}
}
输出结果:
.
.
.
.
创建多线程步骤:
1.定义一个类继承Thread类
1.例子:
class Test extends Thread
{
private String name;
Test(String name)
{
this.name = name;
}
public void show()
{
for(int i=0; i<10; i++)
{
System.out.println(name+"...........i="+i);
}
}
}
public class Demo
{
public static void main(String[] args)
{
}
}
.
.
.
2.覆盖Thread类的run方法
可以把show()方法的内容写到覆盖的run()里面
可以直接调用show()方法在run()方法里面,但是为了方便,这里就调用了
2.例子
class Test extends Thread
{
private String name;
Test(String name)
{
this.name = name;
}
public void run()
{
for(int i=0; i<10; i++)
{
System.out.println(name+"...........i="+i);
}
}
}
public class Demo
{
public static void main(String[] args)
{
}
}
.
.
.
3.直接创建Thread的子类对象创建
3.例子
class Test extends Thread
{
private String name;
Test(String name)
{
this.name = name;
}
public void run()
{
for(int i=0; i<10; i++)
{
System.out.println(name+"...........i="+i);
}
}
}
public class Demo
{
public static void main(String[] args)
{
Test t1 = new Test("旺财");
Test t2 = new Test("小强子");
ti.run();
ti.run();
}
}
试着输出结果:
我们发现这个上面那个没有创建线程的输出是一样的.
为什么会这样呢?
因为我们只是定义了方法,而没开启线程
开启线程需要Thread类
的另外一个方法–start()
start()
方法----开启线程,调用run方法
.
.
.
.
4.调用start方法开启线程并调用线程的任务run方法执行
4.例子:
class Test extends Thread
{
private String name;
Test(String name)
{
this.name = name;
}
public void run()
{
for(int i=0; i<10; i++)
{
System.out.println(name+"...........i="+i);
}
}
}
public class Demo
{
public static void main(String[] args)
{
Test t1 = new Test("旺财");
Test t2 = new Test("小强子");
t1.start();
t2.start();
}
}
输出结果:
这就是多线程的创建方式之一
.
.
.
.
.
总结一下创建多线程的步骤:
1.定义一个类继承Thread类
2.覆盖Thread类的run方法
3.直接创建Thread的子类对象创建
4.调用start方法开启线程并调用线程的任务run方法执行