热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如果数据连结池已经连接到最大数量的连接了,再有请求发连接会怎么样。

1。加入我设置了最大连接数量maxActive30,假如已经连接30个了,如果有新请求需要连接数据库,执行到Connectionconnthis.getDataSource(dat
   1。加入我设置了最大连接数量maxActive="30",假如已经连接30个了,如果有新请求需要连接数据库,执行到Connection  conn =this.getDataSource(dataSourceName);时候,会发生什么,直接报错?或者等待数据池中产生可用的连接?
   2。我这个问题主要是为了并发考虑的 ,我本来写的处理用户请求类,在连接数据库池后都会thread.sleep(100)下,可以先处理其他请求不需要连接数据库的请求。突然想到如果连接数量满了,会不会造成死锁?我改成在连接数据库前sleep是不是就没问题了?
     我的Dispatch类是并发的,并发执行warpSocket()方法处理用户请求

10 个解决方案

#1


该回复于2015-05-26 13:06:21被管理员删除

#2


一般的连接池在负荷已满是都是放到请求队列里面

#3


   也就是说如果负荷已满,Dispatch处理类直接就进入请求队列,等获得连接资源再进入就绪状态等待cpu,对吧?也就是说不用我写并发了,池里没有空闲连接直接就 等待了。

#4


不是都有maxWait 最大等待时间吗

超过这个时间就会返回Connection pool exhausted 

拿不到链接了

#5


引用 4 楼 interpb 的回复:
不是都有maxWait 最大等待时间吗

超过这个时间就会返回Connection pool exhausted

拿不到链接了

#6


#7


如果你没设maxwait
他会先看看有没有可用连接,如果没有。。。崩掉把。。。
Stack of trace 大概哦,我乱猜的

#8


如果连接数已经达到上限,就会加入等待队列,而如果同样达到了等待队列的上限,请求失败。

#9


新请求的线程会堵塞,等待池中资源的释放,好比你在食堂打饭一样

#10


也就是说会堵塞或者释放。windows某个端口等待队列最多50个吧?再加50个最大数据库池连接,最多处理100个...

推荐阅读
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
author-avatar
铁打的岳小野
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有