1、线程的创建
----|创建类实现Callable接口,并实现call()方法
----|继承Thread类
----|定义类,继承Thread类,重写run()方法,其中run()方法中就是线程要完成的任务----|创建类的实例,即创建线程对象
----|调用类的start()方法,即启动线程----|实现Runnable接口创建线程类
----|创建类,实现Runnable接口,重写run()方法
----|创建类的实例,建立Thread的匿名实例,并传入类作为参数
----|调用类的start()方法,即启动线程
----|实现Callable接口创建线程----|创建类实现Callable接口,并实现call()方法
----|创建FutureTask实例,并将实例(即实现Callable接口的类)作为FutureTask实例的参数
----|创建类的实例,建立Thread的匿名实例,并传入类作为参数----|调用类的start()方法,即启动线程
代码实例
package edu.cslg.snrtievg.thread;
public class TestThread extends Thread{
@Override
public void run() {
// TODO Auto-generated method stub
int i=0;
while(true){
try {
System.out.println("继承THread类的线程"+i++);
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
实现接口
package edu.cslg.snrtievg.thread;
public class TestThread2 implements Runnable{
@Override
public void run() {
// TODO Auto-generated method stub
int i=0;
while(true){
try {
System.out.println("实现Runnable接口"+i++);
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
另一种接口
package edu.cslg.snrtievg.thread;
import java.util.concurrent.Callable;
public class TestCallable implements Callable<Integer>{
@Override
public Integer call() throws Exception {
// TODO Auto-generated method stub
int i=0;
while(true){
try {
System.out.println("实现Callable的线程"+i++);
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(i==100)
break;
}
return i;
}
}