月眸


月眸

阻塞队列的理解

一、定义 阻塞队列,顾名思义,首先,他是一个队列,而一个阻塞队列在数据结构中所起到的作用如下: 线程1向阻塞队列中添加元素,线程2向阻塞队列中移除元素 *当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。 *当阻塞队列是满时,从队列中添加


毛毛小妖 256浏览 0条评论 2019年08月03日 阅读全文

线程池—合理设置线程池大小

平时我们在项目中使用多线程时,建议不要使用jdk自带的四个创建线程池的方法:newCachedThreadPool,newFixedThreadPool,newSingleThreadExecutor,newScheduledThreadP


毛毛小妖 279浏览 0条评论 2019年06月28日 阅读全文

ReentrantReadWriteLock使用例子

读写锁实现了对同一个资源边写边读的功能,以下代码可直接运行。 package com.demo.lock; import java.util.HashMap; import java.util.Map; import java.util.


毛毛小妖 177浏览 0条评论 2019年06月22日 阅读全文

java限流策略

在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。在限流时,有四种算法,分别是


毛毛小妖 323浏览 0条评论 2019年04月03日 阅读全文

线程池—jdk提供的四种创建线程池的方法

ThreadPoolExecutor提供了四个构造方法: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSi


毛毛小妖 364浏览 0条评论 2019年03月28日 阅读全文

Semaphore的工作原理及实例

Semaphore是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步互斥的量。Semaphore是一种计数信号量,用于管理一组资源,内部是基于AQS的共享模式


毛毛小妖 291浏览 1条评论 2019年03月21日 阅读全文