今碰到一问题,原以为代码用上 ReentrantLock.lock 想当然以为就是个很好用的东西,至少说不会出大问题吧,可是万万没有想到的是:
在Web Container最大线程数设置了500线情况下,压力测试了一把,居然给我满了,一看,原来这么壮观的场面,第一次碰到。圈中的代码省略,大家看看估计会是由于什么问题导致的?
根据目前存在的问题,特提供如下性能与代码方面相关的资料,以供参考
Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁
http://www.ibm.com/developerworks/cn/java/j-jtp10264/
非阻塞算法简介
http://www.ibm.com/developerworks/cn/java/j-jtp04186/
并发集合类
http://www.ibm.com/developerworks/cn/java/j-jtp07233/
Java 语言与编程实践
http://www.ibm.com/developerworks/cn/java/coretech/java-lang.html
有车容易,停个车难。图中特地用513的线程号表示“我要车”,左边绿色的Running状态的那就来表示开着车在找车位吧,我汗:)
发完贴子一看,居然在Running的状态的线程号是“346”,那岂不是刚好为“塞死了”,爆汗ing...
周末了,乐一乐先:)
- 大小: 258.9 KB
分享到:
相关推荐
AQS和ReentrantLock.pdf
ReentrantLock.java
这份资源旨在详细讲解 Java 中的 Locks 框架,特别关注 ReentrantLock 的使用和原理。Locks 框架提供了比传统的 synchronized 关键字更强大、更灵活的线程同步机制,而 ReentrantLock 是其中的一种重要实现。 Locks ...
ReentrantLock源码剖析
ReentrantLock java除了使用关键字synchronized外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。这篇文章主要是从...
ReentrantLock lock方法注释
lock 最 常 用 的 类 就 是 ReentrantLock , 其 底 层 实 现 使 用 的 是 AbstractQueuedSynchronizer(AQS) 简单来说 AQS 会把所有的请求线程构成一个 CLH 队列,当一个线程执行完毕 (lock.unlock())时会激活...
可重入锁: 也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,...ReentrantLock 在Java也是一个基础的锁,ReentrantLock 实现Lock接口提供一系列的基础函数,开发人员可以灵活的是应用函数满足各种复杂多变应用场景;
1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM .........................
1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................
Lock、Synchoronized和ReentrantLock的使用
前言Lock接口是Java 5引入的,最常见的实现类是ReentrantLock,可以起到锁的作用.使用上和功能上和synchronized有较大不同,Lock
6.你以为你真的了解final吗? 7.三大性质总结:原子性、可见性以及有序性 8.初识Lock与AbstractQueuedSynchronizer(AQS) 9.深入理解AbstractQueuedSynchronizer(AQS) 10.彻底理解ReentrantLock 11.深入理解读写锁...
Java 多线程与并发(11_26)-JUC锁_ ReentrantLock详解
1、ReentrantLock简介 2、ReentrantLock函数列表 3、重入的实现 4、公平锁与非公平锁 5、ReentrantLock 扩展的功能 6
公平与非公平的一个很本质的区别就是,是否遵守FIFO(也就是先来后到)。当有多个线程来申请锁的时候,是否先申请的线程先获取锁,后申请的线程后获取锁?如果是的,则是 公平锁 ,否则是 非公平锁 。 更准确地...
java语言 并发编程 ReentrantLock与synchronized区别 详解
创建多个condition对象 一个condition对象的signal(signalAll)方法和该对象的await方法是一一对应的,也就是一个condition对象的signal(signalAll)方法不能唤醒其他condition对象的await方法 ReentrantLock...
ReentrantLock的使用及注意事项