摘要: 1、获得结果和触发计算 获得结果 1 public T get() 2 3 public T get(long timeOut, Timeunit unit) 4 5 public T join() 6 7 public getNow(T valueIfAbsent) 主动触发计算 public b 阅读全文
posted @ 2024-06-15 09:47 不会java的菜鸟程序员 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 1.需求说明 1.1 同一款产品,同时搜索出同款产品在各大电商平台的售价; 1.2 同一款产品,同时搜索出本产品在同一个电商平台下,各个入驻卖家售价是多少; 2.输出返回: 出来结果希望是同款产品的在不同地方的价格清单列表,返回一个List<String> 《Mysql》 in jd price i 阅读全文
posted @ 2024-06-12 22:49 不会java的菜鸟程序员 阅读(7) 评论(0) 推荐(0) 编辑
摘要: CompletableFutrue通过核心的4个静态方法,来创建一个异步任务 public static CompletableFuture<Void> runAsync(Runnable runnable) 1 /** 2 * public static CompletableFuture<Voi 阅读全文
posted @ 2024-06-05 22:27 不会java的菜鸟程序员 阅读(5) 评论(0) 推荐(0) 编辑
摘要: get()方法在Futrue计算完成之前会一直处在阻塞状态下, isDeone()方法容易耗费CPU资源, 对于真正的异步处理我们希望是可以通过传入回调函数,在Futrue结束时自动调用该回调函数,这样,我们就不用等待结果。 阻塞的方式和异步编程的设计理念相违背,而轮询的方式会耗费无谓的CPU资源。 阅读全文
posted @ 2024-06-05 21:49 不会java的菜鸟程序员 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 以Thread创建线程为例: 1 Thread thread = new Thread() { 2 @Override 3 public void run() { 4 log.info("create and start a thread through creating a Thread Obje 阅读全文
posted @ 2024-06-05 21:25 不会java的菜鸟程序员 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1、通过线程池提交FutrueTask异步任务 1 public static void main(String[] args) throws ExecutionException, InterruptedException, TimeoutException { 2 3 long start = 阅读全文
posted @ 2024-06-05 21:25 不会java的菜鸟程序员 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 一般情况下不做特别说明配置,默认都是用户线程 User Thread 是系统的工作线程,它会完成这个程序需要完成的业务操作 Daemon Thread 是一种特殊的线程,为其它线程服务的,在后台默默的完成一些系统性的服务,比如垃圾回收线程就是最典型的例子 守护线程作为一个服务线程,没有服务对象就没有 阅读全文
posted @ 2024-06-02 15:29 不会java的菜鸟程序员 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 1、一把锁 (synchronized) 2、两个并(并发 并行) 并发是在同一实体上的多个事件,是在一台处理器上同时处理多个任务,同一时刻,其实是只有一个时间在发生 并行是在不同实体上的多个事件,是在多台处理器上同时处理多个任务,同一时刻,大家真的都在做事情,互不影响 3、三个程(进程 线程 管程 阅读全文
posted @ 2024-06-02 10:26 不会java的菜鸟程序员 阅读(7) 评论(0) 推荐(0) 编辑