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";
}
}