线程
深海浩
这个作者很懒,什么都没留下…
展开
-
使用CompletableFuture完成异步完成任务
基于runAsnc无返回值系列方法实现无返回值的异步计算:当执行一个任务时,不需要任务的实现结果是可以使用该方法,如打印异步日志,异步做消息通知等; 开启一个线程的代码如下: public class CompletableFutureTest { public static void main(String[] args) { long start = System.cu...原创 2020-03-08 15:26:35 · 563 阅读 · 0 评论 -
JDK中的FutureTask的异步1.1之开启线程池1.1
这个还可以用线程池的方式去实现,代码如下: public class AsyncFutureExamplePool { /** * 自定义线程池 设置核心线程个数为当前物理机的CPU个数; * */ private final static int AVALIABLE_PROCESSORS = Runtime.getRuntime().availablePro...原创 2020-03-08 14:14:39 · 108 阅读 · 0 评论 -
JDK中的FutureTask的异步1.0
FutureTask任务的结果只有当任务完成后才能获取,并且只能通过get系列方法获取,当结果还没 出来时,线程get系列方法会被阻塞,另外,一旦任务被执行完成,任务不能重启,除非有哪些时间使用了runAndReset方法。 代码如下: public class AsyncFurureExample { public static void main(String[] args) thr...原创 2020-03-07 19:31:54 · 83 阅读 · 0 评论 -
显示使用线程池实现异步编程1.1
修改上个博客的代码: public class ThreadExecutorPool { /** * 自定义线程池 设置核心线程个数为当前物理机的CPU个数; * */ private final static int AVALIABLE_PROCESSORS = Runtime.getRuntime().availableProcessors(); ...原创 2020-03-07 16:05:40 · 254 阅读 · 1 评论 -
显示使用线程实现异步编程1.0
这是一种最简单实现异步的方法之一 public class sync { public static void doSomethingA(){ try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); ...原创 2020-03-07 15:33:56 · 117 阅读 · 1 评论