社区
Java SE
帖子详情
java 接口程序并发数要求500以上,用多线程,还是异步
zhangfengyi
2017-11-17 09:23:35
提供java 接口程序,要求并发数500,oracle 数据库select,insert,update这些操作,用多线程好,还是异步,有没有简单的程序供参考。
...全文
2619
3
打赏
收藏
java 接口程序并发数要求500以上,用多线程,还是异步
提供java 接口程序,要求并发数500,oracle 数据库select,insert,update这些操作,用多线程好,还是异步,有没有简单的程序供参考。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
捏造的信仰
2017-11-17
打赏
举报
回复
如果同时收到 500 个请求,需要有两层池化处理: 1、请求处理线程池,比如设为 300,那么应用服务器同时接收处理的请求为 300 个,剩下 200 个请求会暂时等待,直到线程池有空余。 2、数据库线程池,或数据库连接池,因为一个线程同一时间只会处理一个数据库连接,所以概念上是等同的。比如设为 50,那么同时进行的数据库操作为 50 个,剩下的数据库操作会暂时等待。 请求处理线程池不需要编码实现,而是对 Web 容器(例如 Tomcat)进行配置。具体如何配置请自行搜索。 数据库连接池大小通常在 DataSource 实例的属性中配置。
叮咚呛咚呛
2017-11-17
打赏
举报
回复
看你服务器性能的 同时也看请求的资源 至于多线程和异步 说实话 与这个并发无关 每个请求都会消耗服务器资源,解决方法 分布式 分库 分表 。。。。
yql1986
2017-11-17
打赏
举报
回复
3
并发数要求500以上 用多线程好,还是异步? --------------------------------------------------------------------------------------------- 一提到并发就是多线程。。。 你对并发没有理解清楚。并发实际上跟多线程、异步关系不大 我假设你的应用程序是WEB应用程序,并发数大于500,假设有501人同一时刻都在访问你的应用程序某一接口,即在这一瞬间 tomcat 同时接收到500个请求 从而会 new出500个线程 执行该接口中的代码,以响应请求。即执行的时间窗口有重叠,这就是并发。 因为这501请求都在访问这个接口,能不能抗住这501个并发,就要考虑在这个接口中做了哪些事性? 比如访问数据库 就要确保数据库 能支持瞬间 501个连接,如若不支持,假设只支持瞬间打开100个连接,那么就要确保在这个接口跟这个数据库操作在短时间内就内完成 这样一来就可以快速释放连接到数据库连接池中。 能不能抗住这501个并发,就要看你的应用程的资源足不足以应对,因为应用程序这一时间可能还由其它人在访问其它接口,进行其它操作都 要消耗资源。跟多线程、异步没有啥直接关系。 如果这501个并发,请求的接口中非常消耗资源,系统支持有限,可以对访问的资源设置某一阈值,当超过这个阈值时 将这些请求加入队列,再针对这个队列异步处理。 可以在你的接口中加入多线程、异步等操作,用于快速响应请求。 并发要根据的你实际情况来,跟多线程、异步关系不大。如果应用只部署一台机器你就是用再多个线程也没有用,系统本身就这支持这么 多线程,数据库也只支持这么多连接。 可以考虑多机部署,把应用程序需要的资源扩大。如果你用多线程、异步等操作,能快速响应请求,这样一来500多个并发同时到来时,有一部分请求 被迅速处理掉,在处理剩下的.... 多线程、异步等操作,能快速响应请求 提高吞吐量 系统也能抗得住。 希望对你有帮助,要根据你的实际情况来
【李宁】
Java
并发
实战丨蓄力计划
本课程可用于面试以及提升自己的
Java
技能 本课程使用
Java
16进行教学,主要讲解
Java
中的
并发
技术,主要内容如下: 1. 线程管理(线程创建、运行、线程中断、线程休眠、守护进程、用工厂创建线程等) 2....
java
关于
多线程
并发
和
异步
操作由浅入深
目录前言一、初识
多线程
多线程
最基本的两种实现方式**- 方式一:- 方式二:
多线程
优点:二、匿名函
数
实现无返回值的
多线程
异步
调用三、CompletableFuture实现
多线程
异步
调用无返回值的
异步
调用有返回值的
异步
调用四、四种线程池的使用1.newFixedThreadPool定长线程池2.CachedThreadPool可缓存线程池3.newSingleThreadExecutor单线程化线程池4. newScheduledThreadPool周期性线程池无返回值的延时线程示例:有返回值的延时线程示例:
JAVA
多线程
实现、线程池创建使用、
多线程
的
异步
操作
JAVA
多线程
实现、线程池创建使用、
多线程
的
异步
操作
java
8新特性(九):CompletableFuture
多线程
并发
异步
编程
首先因为现在的应用越来越复杂,越来越多模块多系统之间相互依赖,一个操作可能需要使用多个模块或者多个系统提供的多个服务来完成一个功能,如果每个服务顺序的执行,可能需要消耗很多时间,或者前端用户需要得到及时响应,不需要等待所有服务完成便可以返回部分结果,而且现在的计算机处理器性能越来越强大,多核处理器越来越普遍,核心
数
也越来越多,使用
多线程
可以更加充分利用硬件的资源,不论是什么原因
异步
编程应运而生。
Java
多线程
获取
异步
执行结果的多种姿势
前言 由于
java
虚拟机对于进程中线程映射为内核级线程即真
多线程
的映射方式,因此在各个优秀的开源框架、服务容器中
多线程
技术使用非常广泛,我们自己的业务项目中,也经常遇到需要
异步
执行的任务,在不方便引入消息中间件的情况下,直接另开一个线程执行即可,但是如果遇到一些需要获取执行结果的业务,就只能为了
多线程
异步
方式再引入线程间通信逻辑,便显得捉襟见肘。 jdk 1.5以后新引入了Future和Calla
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章