花费 21 ms
【java并发核心一】Semaphore 的使用思路

最近在看一本书《Java并发编程 核心方法与框架》,打算一边学习一边把学习的经验记下来,所粘贴的代码都是我运行过的,大家一起学习,欢迎吐槽。 估计也没多少人看我的博客,哈哈,那么我还是会记下来,天空 ...

Mon Aug 20 01:02:00 CST 2018 7 46152
ThreadLocal的应用场景

在通常的业务开发中,ThreadLocal 有两种典型的使用场景 场景1: ThreadLocal 用作保存每个线程独享的对象,为每个线程都创建一个副本,这样每个线程都可以修改自己所拥有的副本, ...

Sun Apr 12 21:31:00 CST 2020 8 26945
阻塞队列之LinkedBlockingQueue

概述 LinkedBlockingQueue内部由单链表实现,只能从head取元素,从tail添加元素。添加元素和获取元素都有独立的锁,也就是说LinkedBlockingQueue是读写分离的,读 ...

Thu Aug 30 23:03:00 CST 2018 2 22346
java并发之线程间通信协作

  在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对 ...

Tue Jul 31 00:31:00 CST 2018 0 15899
java并发之线程同步(synchronized和锁机制)

多个执行线程共享一个资源的情景,是并发编程中最常见的情景之一。多个线程读或者写相同的数据等情况时可能会导致数据不一致。为了解决这些问题,引入了临界区概念。临界区是一个用以访问共享资源的代码块,这个代码 ...

Fri Apr 28 01:50:00 CST 2017 1 21673
Java并发之BlockingQueue的使用

Java并发之BlockingQueue的使用 一.简介   前段时间看到有些朋友在网上发了一道面试题,题目的大意就是:有两个线程A,B, A线程每200ms就生成一个[0,100]之间的随机数 ...

Sat Jun 10 21:46:00 CST 2017 1 17891
wait与sleep区别?

wait与sleep区别? 对于sleep()方法,该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。 sleep()方法导致了程序暂停执行指定的时间,让出c ...

Mon Sep 02 21:56:00 CST 2019 0 4334
CopyOnWriteArrayList应用场景

在 CopyOnWriteArrayList 出现之前,我们已经有了 ArrayList 和 LinkedList 作为 List 的数组和链表的实现,而且也有了线程安全的 Vector 和 Coll ...

Sun Apr 26 02:21:00 CST 2020 1 6802
synchronized的实现原理及锁优化

  记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized。对于当时的我们来说,synchronized是如此的神奇且强大。我们赋予它一个名字“同步”,也成为我们解决多线程情况的 ...

Thu Jul 26 19:14:00 CST 2018 1 6883
看看AQS阻塞队列和条件队列

  上一篇简单介绍了AQS,我们大概知道AQS就是一个框架,把很多功能都给实现了(比如入队规则,唤醒节点中的线程等),我们如果要使用的话只需要实现其中的一些方法(比如tryAcquire等)就行了!这 ...

Mon Feb 03 05:23:00 CST 2020 0 4374

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM