会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
一闪一闪亮晶晶
好好工作, 好好生活
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
下一页
2019年9月16日
Callable带返回值接口使用
摘要: 获取多线程的方式 1. 继承Thread 2. 实现Runnable接口 3. 实现Callable接口 带范型有返回值 FutureTask(Callable<V>) 4. 线程池 Callable返回值获取放在最后(futureTask.get()) 调用多次FutureTask仍然只执行一次,
阅读全文
posted @ 2019-09-16 19:21 要好好吃饭
阅读(1103)
评论(0)
推荐(0)
2019年9月14日
阻塞队列-生产者-消费者的阻塞队列模式
摘要: /** * 线程操作资源类 */ class MyResource{ // 控制生产者-消费者标志位 private volatile boolean FLAG = true; // 原子类,保证并发过程中线程安全 private AtomicInteger atomicInteger = new
阅读全文
posted @ 2019-09-14 14:10 要好好吃饭
阅读(335)
评论(0)
推荐(0)
2019年9月13日
synchronized和Lock区别
摘要: synchronized和Lock区别 原始构成 - sychronized是关键字属于JVM层面的, - monitorenter、monitorexit(底层是通过monitor对象来完成的,其实wait/notify方法也依赖于monitor对象,只有在同步块或者同步方法中才能调用wait/n
阅读全文
posted @ 2019-09-13 12:55 要好好吃饭
阅读(204)
评论(0)
推荐(0)
2019年9月11日
阻塞队列-生产者-消费者的传统模式
摘要: 阻塞队列 用在哪? 生产者消费者模式 传统版 阻塞队列版 线程池 消息中间件 1、传统线程生产者-消费者模式是什么? 2、传统生产者-消费者模式代码验证2.0版本 判断使用while不会出现虚假唤醒问题 /** * Lock 传统生产者-消费者模式 代码验证2.0版本 * @Author: 小海 *
阅读全文
posted @ 2019-09-11 13:34 要好好吃饭
阅读(230)
评论(0)
推荐(0)
2019年9月10日
阻塞队列-SynchronousQueue
摘要: 1、阻塞队列-Synchronous是什么? Synchronous阻塞队列是一个不存储元素的队列,即单个元素队列。 2、Synchronous阻塞队列代码验证 public class SynchronousQueueDemo { public static void main(String[]
阅读全文
posted @ 2019-09-10 01:43 要好好吃饭
阅读(163)
评论(0)
推荐(0)
2019年9月8日
队列-阻塞队列
摘要: 场景:海底捞候客区、医院体检候客区、银行候客区 手动挡换成自动挡 集合除了ArrayList、linkedList还用过哪些?-> CopyOnWriteArrayList、BlockingQueue 一、阻塞队列是什么? 阻塞队列首先是一个队列,当队列是空的时候,从队列获取元素的操作将会被阻塞,当
阅读全文
posted @ 2019-09-08 20:12 要好好吃饭
阅读(243)
评论(0)
推荐(0)
Condition
摘要: 等待/通知机制,在Java中主要有两种方式: 一是基于wait/notify方法结合synchronized关键字来实现 二是Condition结合Lock来实现 Condition理解为条件队列 Condition是在java1.5才出现。它用来替换传统的 wait(), notify()实现线程
阅读全文
posted @ 2019-09-08 14:00 要好好吃饭
阅读(247)
评论(0)
推荐(0)
2019年9月7日
CountDownLatch、CyclicBarrier、Semaphore
摘要: 一、CountDownLatch - 闭锁/做减法 人都走了才关门 使一个线程等待其他线程各自执行完毕后再执行; 是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕,然后在闭锁上等待的线程就可以恢复工作了。 //
阅读全文
posted @ 2019-09-07 17:51 要好好吃饭
阅读(156)
评论(0)
推荐(0)
2019年9月5日
独占锁(写锁)、共享锁(读锁)、读写锁
摘要: 独占锁(排他锁/写锁/X锁/行级):指该锁一次只能被一个线程锁持有,只允许该线程写与读,不允许其他线程加任何锁进行读和写,ReentrantLock和sync而言都是独占锁。 共享锁(读锁/S锁/表级):指该锁可被多个线程所持有,直到释放所有S锁才可以获取排他锁。 读写锁:ReentrantRead
阅读全文
posted @ 2019-09-05 19:13 要好好吃饭
阅读(1644)
评论(0)
推荐(0)
2019年9月4日
CAS自旋锁
摘要: 自旋锁spinLock是指尝试获取锁的线程不会立即阻塞, 而是采用循环的方式去尝试获取锁。 优点是减少线程上下文切换的消耗; 缺点是循环会消耗CPU,会导致ABA问题-[解决方案:带时间戳的原子引用AtomicStampedReference]。 unsafe.getAndAddInt(Object
阅读全文
posted @ 2019-09-04 15:19 要好好吃饭
阅读(227)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
10
下一页
公告