在java标准库中提供了一个Thread类来表示/操作线程,Thread类也可以视为是java标准库提供的API
Thread类的基本用法:
1.创建子类,继承自Thread并且重写run方法:
class MyThread extends Thread {
@Override
public void run() {
System.out.println("hello thread");
}
}
public class Demo1 {
public static void main(String[] args) {
// 最基本的创建线程的办法.
Thread t = new MyThread();
//调用了start方法才是真正的在系统中创建了线程,执行run方法
t.start();
}
}
2.创建一个类,实现Runnable接口再创建Runnable是实例传给Thread
class MyRunnable implements Runnable{
@Override
public void run() {
System.out.println("hello");
}
}
public class Demo3 {
public static void main(String[] args) {
Thread t = new Thread(new MyRunnable());
t.start();
}
}
3.匿名内部类
创建了一个匿名内部类,继承自Thread类,同时重写run方法,再new出匿名内部类的实例
public class Demo4 {
public static void main(String[] args) {
Thread t = new Thread(){
@Override
public void run() {
System.out.println("hello");
}
};
t.start();
}
}
new的Runnable,针对这个创建的匿名内部类,同时new出的Runnable实例传给Thread的构造方法
public class Demo5 {
public static void main(String[] args) {
Thread t = new Thread(new Runnable() {