文章目录
线程
一般来说多线程就是意味着同时进行多个程序
多线程比单线程效率更加高效
Thread类
package Javaclass_notes.线程;
public class Thread类 {
public static void main(String[] args) {
MyThread a=new MyThread();
a.start();
for (int i = 0; i < 20; i++) {
System.out.println("主线程加载了:"+i);
}
}
}
class MyThread extends Thread{
// @Override
// public void run()
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("子类线程启动了:"+i);
}
}
}
Runnable接口
由于Thread类只能继承,我们自定义的进程无法再去继承其他的类,所以需要一个接口来让自定义进程的功能更加丰富,于是就有了Runnable接口。
package Javaclass_notes.线程;
public class Runnable接口 {
public static void main(String[] args) {
MyRunnable a= new MyRunnable();
Thread b=new Thread(a);
b.start();
for (int i = 0; i < 20; i++) {
System.out.println("主线程加载了:"+i);
}
}
}
class MyRunnable implements Runnable{
// @Override
// public void run()
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("子类线程启动了:"+i);
}
}
}
还可以通过匿名内部类来实现,看起来更加简洁。
package Javaclass_notes.线程;
public class 匿名内部类实现Runnable {
public static void main(String[] args) {
Thread a=new Thread(new Runnable() {
@Override
public void run() {
for(int i=0;i<20;i++){
System.out.println("子进程进行到了:"+i);
}
}
});
a.start();
for (int i = 0; i < 20; i++) {
System.out.println("主进程进行到了:"+i);
}
}
}