Java 并发编程

为什么很重要?

可以最大程度节约成本,省一台电脑的成本,提高效益。

2、JUC

JDK 提供的一个工具包,专门用来帮助开发者完成 Java 并发编程。

3、进程和线程

Java 默认的线程数 2 个

  • mian 主线程
  • GC 垃圾回收机制

Java 本身是无法开启线程的,Java 无法操作硬件,只能通过调用本地方法,C++ 编写的动态函数库。

Java 中实现多线程有几种方式?

1、继承 Thread 类

2、实现 Runnable 接口

3、实现 Callable 接口

Callable 和 Runnable 的区别在于 Runnable 的 run 方法没有返回值,Callable 的 call 方法有返回值。

package com.southwind.demo1;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class Test {
    public static void main(String[] args) {
        MyCallable myCallable = new MyCallable();
        FutureTask<String> futureTask = new FutureTask(myCallable);
        Thread thread = new Thread(futureTask);
        thread.start();
        try {
            String value = futureTask.get();
            System.out.println(value);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }
}

class MyCallable implements Callable<String>{

    @Override
    public String call() throws Exception {
        System.out.println("callable");
        return "hello";
    }
}

程序计数器