Java进程线程看着一篇就够了

Java进程线程看着一篇就够了


一.多线程相关的概念
cpu: 相当于电池
核数: 相当于充电线
进程: 相当于工厂
线程: 相当于工厂里面的机器

一个应用程序就是一个进程(相当于工厂开工),一个进程至少有一个线程(一个工厂至少有一台机器),多线程就是多台机器同时开工。
 多核 就是相当于多条充电线。


二.实现方法
2.1继承Thread类 单继承
实现步骤 创建一个类继承Thread类,重写run方法 + 实例化创建对象 调用start方法
2.2实现Runnable接口 无返回值任务
实现步骤 创建一个类实现Runnable接口,重写run方法 + 实例化创建对象,创建Thread对象,调用start方法
2.3实现Callable接口 有返回值任务
实现步骤 创建一个类实现 Callable接口,重写call方法,实例化对象,创建FutureTask对象,调用start方法
好处对比:
实现方法 优缺点
继承Thread类   java是单继承,无法再继承其他的类
实现Runnable接口  

1解决单继承的局限性

2 增强了程序的扩展性,贱到底了程序的耦合性(解耦)

 实现接口,把设置线程的任务和开启线程进行了解耦

实现Callable接口   
public class ThreadTest {
    public static void main(String[] args) {
        MyThread1 m1 = new MyThread1("RunableThreadA");
        new Thread(m1).start();
        MyThread2 m4 = new MyThread2("ThreadA");
        m4.start();
        MyThread3 m7 = new MyThread3("CallableThreadA");
        FutureTask<String> futureTask1 = new FutureTask<>(m7);
        new Thread(futureTask1).start();
        try{
            String s = futureTask1.get();
            System.out.println(s);
        }catch (InterruptedException e){
            e.printStackTrace();
        }catch (ExecutionException e){
            e.printStackTrace();
        }
    }
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java进程线程看着一篇就够了