外部类使用线程
写一个类来实现Runnable接口,通过创建对象来使用线程。
代码:
/**
* 测试线程的使用方式
* 正常使用,实现Runnable接口,通过创建对象来使用线程
* @author dxt
*
*/
public class Thread01 implements Runnable{
/**
* 实现run()方法
*/
public void run(){
for(int i=0; i<10; i++){
System.out.println(i);
}
}
public static void main(String[] args){
//使用线程
new Thread(new Thread01()).start();
}
}
静态内部类使用线程
写一个内部类来实现Runnable接口,通过创建内部类的对象来使用线程。
代码:
/**
* 测试线程的使用方式
* 内部类:外部类不使用,就不会加载编译
* @author dxt
*
*/
public class Thread02 {
/**
* 静态内部类
* @author dxt
*
*/
static class Test implements Runnable{
/**
* 实现run()方法
*/
public void run(){
for(int i=1; i<10; i++){
System.out.println(i);
}
}
}
public static void main(String[] args){
//使用线程
new Thread(new Test()).start();
}
}
局部内部类使用线程
在方法内写一个内部类来实现Runnable接口,通过在方法内创建内部类的对象来使用线程。
代码:
/**
* 测试线程的使用方式
* 内部类:外部类不使用,就不会加载编译
* @author dxt
*
*/
public class Thread03 {
public static void main(String[] args){
/**
* 局部内部类
* @author dxt
*
*/
class Test implements Runnable{
/**
* 实现run()方法
*/
public void run(){
for(int i=2; i<10; i++){
System.out.println(i);
}
}
}
//使用线程
new Thread(new Test()).start();
}
}
匿名内部类使用线程
省略类名。
代码:
public class Thread03 {
public static void main(String[] args){
//使用线程
new Thread(new Runnable(){
public void run(){
for(int i=3; i<10; i++){
System.out.println(i);
}
}
}).start();
}
}
lambda表达式使用线程(jdk8)
省略方法名。
代码:
public class Thread03 {
public static void main(String[] args){
//使用线程
new Thread(()->{
for(int i=3; i<10; i++){
System.out.println(i);
}
}).start();
}
}