随笔分类 -  并发编程

线程、线程池、同步、高并发
摘要:Future 在并发编程中,我们经常用到非阻塞的模型,在之前的多线程的三种实现中,不管是继承thread类还是实现runnable接口,都无法保证获取到之前的执行结果。通过实现Callback接口,并用Future可以来接收多线程的执行结果。Future表示一个可能还没有完成的异步任务的结果,针对这 阅读全文
posted @ 2019-09-17 18:22 南山的海风 阅读(204) 评论(0) 推荐(0)
摘要:同步容器 阅读全文
posted @ 2019-09-12 14:03 南山的海风 阅读(113) 评论(0) 推荐(0)
摘要:锁: Java 中锁的种类分为:偏向锁、自旋锁、轻量级锁、重量级锁 锁的使用方式为:先提供偏向锁,不满足的时候,升级为轻量级锁,如果再不满足的时候,膨胀成重量级锁。自旋锁是一个过渡的状态,不是一种实际的锁类型。锁可以升级不可以降级。 偏向锁 如果代码中不会存在竞争的关系的时候,为了让线程获得锁的代价 阅读全文
posted @ 2019-09-12 14:02 南山的海风 阅读(207) 评论(0) 推荐(0)
摘要:占坑 阅读全文
posted @ 2019-09-08 09:37 南山的海风 阅读(125) 评论(0) 推荐(0)
摘要:AQS 阅读全文
posted @ 2019-09-08 01:07 南山的海风 阅读(140) 评论(0) 推荐(0)
摘要:ThreadPoolExecutor继承了AbstractExecutorService,该抽象类为线程池提供了默认实现。后面讲到线程池代码时详细说明。 构造函数 ThreadPoolExecutor有很多重载的构造函数,所有构造函数最终都调用了一个构造函数,只是有些构造函数有默认参数而已,看下最终 阅读全文
posted @ 2019-08-28 20:50 南山的海风 阅读(191) 评论(0) 推荐(0)
摘要:synchronize synchronized锁什么?锁对象。 可能锁对象包括: this, 临界资源对象(Object),Class类对象。 同步 - 原子性 加锁的目的: 就是为了保证操作的原子性 同步方法 同步方法锁定的是当前对象。当多线程通过同一个对象引用多次调用当前同步方法时,需同步执行 阅读全文
posted @ 2019-08-28 10:40 南山的海风 阅读(355) 评论(0) 推荐(0)