啟動線程通過兩種方式實現(xiàn):
1、通過實現(xiàn)Runnable接口定義一個由Thread驅(qū)動的任務(wù),后通過把自己傳給Thread的構(gòu)造來啟動一個線程(Runnable沒有返回值,如需返回值則使用Callable接口)。
@實現(xiàn)Runnable的一個任務(wù)
public class CountDown implements Runnable {
protected int count = 10;
public static int taskCount = 1;
public final int id = taskCount ++;
@Override
public void run() {
// TODO Auto-generated method stub
while(count -- >0)
{
System.out.println(""+count);
}
System.out.println("count over");
Thread.yield();
}
}
@通過把任務(wù)傳給Thread的構(gòu)造來啟動線程
2、直接繼承自Thread來創(chuàng)建線程
@繼承自Thread的線程
public class CountDown3 extends Thread {
private static int step = 0;
private final int id = step++;
private int count = 10;
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
while(count-- > 0)
{
System.out.println(count);
Thread.yield();
}
}
}
@啟動此線程
1、通過實現(xiàn)Runnable接口定義一個由Thread驅(qū)動的任務(wù),后通過把自己傳給Thread的構(gòu)造來啟動一個線程(Runnable沒有返回值,如需返回值則使用Callable接口)。
@實現(xiàn)Runnable的一個任務(wù)
public class CountDown implements Runnable {
protected int count = 10;
public static int taskCount = 1;
public final int id = taskCount ++;
@Override
public void run() {
// TODO Auto-generated method stub
while(count -- >0)
{
System.out.println(""+count);
}
System.out.println("count over");
Thread.yield();
}
}
@通過把任務(wù)傳給Thread的構(gòu)造來啟動線程
public class MainThread {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Thread t = new Thread(new CountDown());
t.start();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Thread t = new Thread(new CountDown());
t.start();
}
}
2、直接繼承自Thread來創(chuàng)建線程
@繼承自Thread的線程
public class CountDown3 extends Thread {
private static int step = 0;
private final int id = step++;
private int count = 10;
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
while(count-- > 0)
{
System.out.println(count);
Thread.yield();
}
}
}
@啟動此線程
public class MainThread {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Thread t = new CountDown3();
t.run();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Thread t = new CountDown3();
t.run();
}
}