并发编程
江上飞鱼
生活不仅有苟且和代码还有远方。。。。
展开
-
ThreadLocal源码阅读
每个线程需要有自己单独的实例 实例需要在多个方法中共享,但不希望被多线程共享对于第一点,每个线程拥有自己实例,实现它的方式很多。例如可以在线程内部构建一个单独的实例。ThreadLocal 可以以非常方便的形式满足该需求。对于第二点,可以在满足第一点(每个线程有自己的实例)的条件下,通过方法间引用传递的形式实现。ThreadLocal 使得代码耦合度更低,且实现更优雅。...原创 2021-05-22 14:09:42 · 106 阅读 · 0 评论 -
Future模式讲解
Future模式有点类似商品订单,比如我们在网上购物,我们只要在网上下来订单,接下来直接在家里等着送货上门即可,下单之后的事由其他人来完成。或者说更形象的就是发送Ajax请求,用户无需停留等待结果,可以在页面继续浏览或者进行其他操作,后台会处理我们发送的请求。下面时时序图:public class FutureClient { public Data request(final String ...原创 2018-05-05 21:13:37 · 448 阅读 · 0 评论 -
java多线程整理
1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。 2) 线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条...转载 2018-05-05 22:22:24 · 98 阅读 · 0 评论 -
scheduleAtFixedRate和scheduleWithFixedDelay
文档地址:https://docs.oracle.com/javase/10/docs/api/java/util/concurrent/ScheduledExecutorService.html#scheduleAtFixedRate(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)解释图:...原创 2019-07-16 16:52:50 · 1492 阅读 · 0 评论