Java 8 并发编程
2020-12-13 04:56
标签:let private check ide executors tco int ble cal java 1.2 前的线程受os内核限制, 线程=进程, 绿色线程是JVM调度, 用来模拟多线程环境. 不需要本地线程支持. 对比 变通的实现方式: Java 8 并发编程 标签:let private check ide executors tco int ble cal 原文地址:https://www.cnblogs.com/walkinhalo/p/11125719.htmlJava 1.5前
并发实现
绿色线程在线程激活和线程同步方面优于本地线程
在I/O和上下文操作方面性能要低于本地线程编程模型
局限性(后续版本将解决完善这部分缺陷, 可对比学习)
public static void main(String[] args){
CompletableRunnable runnable = new CompletableRunnable();
Thread thread = new Thread(runnable,"Sub");
thread.start();
thread.join(); //此处阻塞主线程等待Sub完成, 否则得到的结果不准确
System.out.printf("[Thread: %s] is running\n", Thread.currentThread.getName());
System.out.printf("Sub Thread is completed, result is %s\n", runnable.getCompleted());
}
private static class CompletableRunnable implements Runnable{
private volatile boolean completed = false;
@Override
public void run(){
System.out.printf("[Thread: %s] is running\n", Thread.currentThread.getName());
completed = true;
}
public boolean getCompleted(){
return completed;
}
}
Java 5
并发框架
编程模型
Java 7
并行框架
编程模型
Future (Java 5 引入) 限制
Java 8
异步并行框架
编程模型
其他框架
ListenableFuture
下一篇:从太阳巴士到网站设计