java 多线程介绍
2021-04-12 12:28
标签:inter join() 面向接口编程 构造 独立 函数 集合 demo err 1.线程和进程的概念 1.1什么是进程?进程是线程的集合,是正在运行的程序,一个进程里面至少有一个线程。 1.2什么是线程?正在独立执行的一条路径。 1.3什么是多线程:就是一个进程里面同时有多个线程运行,多线程是为了提高程序效率。 2.创建线程 2.1. 集成Thread类创建线程 继承Thread 类 并实现run方法 2.2. 实现Runable接口 创建类实现Runable接口,实现接口中的run方法 java 多线程介绍 标签:inter join() 面向接口编程 构造 独立 函数 集合 demo err 原文地址:https://www.cnblogs.com/cwj1102/p/13346081.html
class CreateThread extends Thread {
@Override
public void run() {
for (int i = 0; i System.out.println("i:" + i);
}
}
}
在main方法中创建子类对象,调用start方法启动线程
public class ThreadDemo {
public static void main(String[] args) {
CreateThread createThread = new CreateThread();
createThread.start();
for (int i = 0; i System.out.println("main i" + i);
}
}
}
class CreateRunnble implements Runnable {
@Override
public void run() {
for (int i = 0; i System.out.println("子线程 run,i" + i);
}
}
}
创建main函数,创建子类对象,创建Thread类对象,将子类对象作为参数传入,调用Thread类中的start方法启动线程
public class RunnbleDemo {
public static void main(String[] args) {
CreateRunnble createRunnble = new CreateRunnble();
Thread thread = new Thread(createRunnble);
thread.start();
for (int i = 0; i System.out.println("主线程:" + i);
}
}
}
总结:实现 Runnable 接口 要比继承 Thread 类好点,因为java是面向接口编程的
2.3 使用匿名内部类创建线程
abstract class Insidedemo {
public abstract void test();
}
public class AnonymousDemo {
public static void main(String[] args) {
Insidedemo insidedemo = new Insidedemo() {
@Override
public void test() {
System.out.println("使用自定义内部类");
}
};
insidedemo.test();
}
}
3.多线程的运行状态
4.join方法 的使用
join就是让出当前正在运行的线程,让调用join方法的线程先执行完毕,在执行其他线程
如下代码:在主线程里面调用thread 线程的join方法,就会先执行thread 线程里面的 for 循环
public class ThreadDemo01 {
public static void main(String[] args) throws InterruptedException {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i System.out.println("子线程运行:" + i);
}
}
});
thread.start();
thread.join();
for (int i = 0; i System.out.println("主线程运行:" + i);
}
}
}