Java多线程(二)
实现步骤:
1.创建一个类实现Runnable接口(优点:可以继承其它其他类);
2.实例化该类对象,起名run1;
3.实力化Thread对象,通过构造方法将run1传进去;
4.调用Thread对象的start方法。
问题描述:
设计一个线程类,在main()中创建并启动2个该类的子线程对象,一个名字为"甲"的子线程每打印10个数字睡眠一会儿,另一个名字为"乙"的子线程每打印20个睡眠一会儿。
代码实现:
package com.threadtest;
public class Thread01 {
public static void main(String[] args)
{
//创建甲乙两个线程
Thread1 run1=new Thread1();
Thread2 run2=new Thread2();
Thread t1=new Thread(run1,"甲");
Thread t2=new Thread(run2,"乙");
//启动甲乙线程
t1.start();
t2.start();
}
}
//实现Runnable方法
class Thread1 implements Runnable
{
@Override
public void run() {
// TODO Auto-generated method stub
Thread t=Thread.currentThread();
while(true)
{
for(int i=0;i<10;i++)
System.out.println(t.getName()+":"+i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
class Thread2 implements Runnable
{
@Override
public void run() {
// TODO Auto-generated method stub
Thread t=Thread.currentThread();
while(true)
{
for(int i=0;i<20;i++)
System.out.println(t.getName()+":"+i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}