
多线程
文章平均质量分 88
foolishAndStupid
还在学习成长ing,有木有小伙伴一起学习讨论
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA线程安全
线程安全什么是线程安全?线程安全就是多线程访问同一段代码,不会产生不确定的结果。线程不安全则与之相反。为什么又会产生不确定的结果呢? 首先要明白线程的工作原理:JVM有主内存,主内存中的数据是多个线程共享的。而每个线程又有自己的工作内存。当线程对变量执行某个操作的时候:1.先将该变量从主存中复制到工作内存(read ,load),2.然后在工作内存中对该变量进原创 2015-04-04 10:41:57 · 914 阅读 · 0 评论 -
JAVA单例模式总结
单例模式是一种常见的软件设计模式,采用单例设计模式,可以使整个系统中对于某个类,只能存在一个对象实例,并且该类只提供一个取得对象实例的方法。这种模式的动机在哪?一个系统只能有一个窗口或者文件管理系统;一个系统只能有一个计时工具;如果不使用一定的机制对窗口进行唯一化,将弹出多个窗口,如果这多个窗口的显示的内容一致,则是浪费系统资源;如果不一致,则说明同一个时刻有多个不同的状态,这与实际不符,而用原创 2015-04-08 13:23:48 · 662 阅读 · 0 评论 -
redis实现分布式锁
背景: 假设有这样一个场景:用户在APP上点击下单的时候,会跳到一个地址管理页面,其中保存着自己的地址。这里有2个条件: 1.如果用户之前没有添加过地址,那么他添加的第一个地址就会被设置为默认地址。 2.同时,每一个用户有且只有一个默认地址。原创 2017-03-23 22:57:08 · 615 阅读 · 0 评论 -
揭下ReentrantLock神秘的面纱
结论 先给出结论。综合起来,ReentrantLock是一个独占锁,可重入锁,且有公平锁和非公平锁之分。 公平锁和非公平锁各自是怎么实现的呢?非公平锁中,某一线程调用lock()时就会使用CAS尝试获取锁(不管锁当前是否空闲),获取失败才会加入到队列中等待。而在公平锁中,某一线程调用lock()时,只有在当前锁是空闲时,且等待队列中没有其他线程才会使用CAS去获取,如果等待队列中有其原创 2017-06-17 16:51:53 · 648 阅读 · 0 评论 -
AQS简单总结
AQS是j.u.c中几个并发类的基础,它们都继承了AbstractQueuedSynchronizer类,并且在其中实现了几个接口,然后在并发类中使用AQS的方法就可以达到操作线程阻塞或者唤醒的目的。这篇文章记的就是这些子类实现的接口是如何和AQS搭配起来使用的,从而实现AQS的效果。原创 2017-07-22 00:17:57 · 644 阅读 · 0 评论 -
根据AQS推测CountDownLatch及源码分析
CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。 CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务,然后在闭锁上等待的线程就可以恢复执行任务。 来看一下它是怎么利用AQS实现的。原创 2017-06-18 20:23:03 · 585 阅读 · 0 评论 -
根据AQS推测Semaphore及源码分析
Semaphore意为信号量,用法和CountDownLatch类似,也可以用来控制线程之间的协作关系,但通常用来控制同时访问的线程的数量。 先看看示例:原创 2017-07-23 00:42:56 · 547 阅读 · 0 评论 -
FutureTask与AQS不得不说的故事
讲FutureTask之前,先讲讲Runnable,Callable,Future,FutureTask之间都是啥关系? 在接触Callable之前,我们都说,开线程执行一个方法是获取不到返回值的。为什么这么说呢? 首先是Runnable接口,我们一般实现该接口后都会重写run()方法,这里可以看到run()方法是没有返回值的。也就是说,如果你在run()方法里面,做了一次数据库原创 2017-07-27 13:33:48 · 1991 阅读 · 4 评论 -
RateLimiter源码阅读
俗话说得好,缓存,限流和降级是系统的三把利剑。刚好项目中每天早上导出数据时因调订单接口频率过高,订单系统担心会对用户侧的使用造成影响,让我们对调用限速一下,所以就正好用上了。 常用的限流算法有2种:漏桶算法和令牌桶算法。 漏桶算法 漏桶算法:请求先进入“桶”中,然后桶以一定的速率处理请求。如果请求的速率过快会导致桶溢出。根据描述可以知道,漏桶算法会强制限制请求处理的速度。任你请原创 2017-07-29 00:30:33 · 4946 阅读 · 5 评论