当前线程
Thread表示一个线程类,一个应用中可以允许多个线程同时运行.
在任何线程内容,可以使用Thread.currentThread()可以得到当前线程对象
Thread t = Thread.currentThread();
//获取线程的名称
System.out.println(t.getName());
子线程的定义
方法1:
//定一个类继承Thread,覆盖(重写)run方法,然后创建对象即可
public class MyThread extends Thread {
// 一个线程的执行体
@Override
public void run() {
// 子线程的执行体(生命线)
String name = Thread.currentThread().getName();
System.out.println("线程名称:" + name);
}
}
方法2:
定义Runnable的实现类,覆盖run方法
public class MyRunable implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
}
启动方式
1、Thread的子类对象,直接调用其start方法
MyThread t1 = new MyThread();
//通知虚拟机启动线程
t1.start();
2、创建Runnable实例,然后有Thread对象来关联Runnable实例,然后start那个Thread的对象
//创建Runnable实例
MyRunable r = new MyRunable();
//创建Thread对象
Thread t = new Thread(r);
t.start();
线程休眠
可以在线程中使用Thread.sleep(time)方法来休眠
try {
Thread.sleep(5000); //5秒
} catch (InterruptedException e) {
//打断休眠的异常(被强制唤醒的异常)
e.printStackTrace();
}
线程唤醒
可以使用Thread对象的interrupt()方法唤醒休眠
t.interrupt();