继承Thread 实现run方法
class TheradDemo extends Thread{
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("子线程----"+i);
}
}
}
public class day007 {
public static void main(String[] args) {
System.out.println("主线程----开始");
TheradDemo thread = new TheradDemo();//创建TheradDemo类
thread.start();//启动线程 用start方法
for (int i = 0; i < 100; i++) {
System.out.println("主线程----"+i);
}
System.out.println("主线程----结束");
}
}
实现Runnable 执行run方法
class TheradDemo implements Runnable{
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("子线程----"+i);
}
}
}
public class day007 {
public static void main(String[] args) {
System.out.println("主线程----开始");
TheradDemo thread = new TheradDemo(); //创建TheradDemo类
Thread t1 = new Thread(thread);//创建Thread
t1.start();//启动线程 用start方法
for (int i = 0; i < 100; i++) {
System.out.println("主线程----"+i);
}
System.out.println("主线程----结束");
}
}
使用内名内部类
public class day007 {
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("子线程 "+i);
}
}
});
t1.start();
for (int i = 0; i < 100; i++) {
System.out.println("主线程 "+i);
}
}
}
使用继承Thread类还是使用实现Runnable接口好?
使用实现实现Runnable接口好,原因实现了接口还可以继续继承,继承了类不能再继承。
启动线程是使用调用start方法还是run方法?
开始执行线程 注意 开启线程不是调用run方法,而是start方法
调用run知识使用实例调用方法。
获取线程对象以及名称
常用线程api方法 | |
start() | 启动线程 |
currentThread() | 获取当前线程对象 |
getID() | 获取当前线程ID Thread-编号 该编号从0开始 |
getName() | 获取当前线程名称 |
sleep(long mill) | 休眠线程 |
Stop() | 停止线程, |
常用线程构造函数 | |
Thread() | 分配一个新的 Thread 对象 |
Thread(String name) | 分配一个新的 Thread对象,具有指定的 name正如其名。 |
Thread(Runable r) | 分配一个新的 Thread对象 |
Thread(Runable r, String name) | 分配一个新的 Thread对象 |