www.5213.net > JAVA多线程处理http请求

JAVA多线程处理http请求

引用 1 楼 ldh911 的回复:需求看起来挺奇怪了,如果是奥分为10个子线程处理,说明这是个大任务处理,按理来说就不应该用同步业务模式,应该走异步业务模式(或者批处理),但你这里又要等待“10个子线程处理完成后将结果汇总返回给客户端”.莫非这边处理个十几二十分钟,客户端也傻傻等?实在需要可以考虑用map/reduce框架.直接要代码的话,看看有木有好心人帮你写了.

引用 3 楼 liutianxiong888 的回复:你这个是文件的下载还是上传? 这样的话可以采用CountDownLatch(计数器)和ExecutorService(线程池)来管理这个线程,首先实例化一个CountDownLatch为10个线程,每一个线程成功执行完了调用它的countDown()将计数器减1

你的意思是得到很多txt文件后,多线程解析吗?可以实现,将txt文件编号.多线程解析后得到想要的(部分数据).将(部分数据)根据编号进行组合得到最终数据.(小难点:如果确认所有的线程都已经执行完毕,再进行数据的组合)高级点的,在组合时发现某个编号的数据不存在,可以重新解析,如果解析不成功,可以返回错误数据,指明是哪个txt文件的哪儿有问题.

WEB服务器会帮你把每个访问请求开辟一个线程,你只要按照你所开发的框架,比如tomcat会让你利用servlet这个框架来写代码.具体真的一言难尽,反正不用写到RUN中,除非你想对线程控制到极致,例如你要做测试. 多个浏览器的意思如果是

servlet是单例多线程的无需置疑. 每个servlet会根据请求来新建线程 也就是说你接到一个请求到servlet,这个servlet就会运行一个tread

你单写个方法,循环片一个各个线程可以把线程对象存在一个LIST里循环处理 有就处理处理完后有标志传出,这样就能一个一个的处理了

不是基本上是每一个会话一个线程处理,线程会等待一定的时间,如果没有上下文,那么这个线程就结束了..如果有请求,就刷新等待时间.一个会话就是一个终端从从一个地方连续发来的若干次请求 通常前台会生成一个类似uuid的东西,在后台保存,当浏览器关闭之后,这个标记值就消失了..当你再次打开浏览器的时候,这个值又会重新生成..后台会根据这个值,开启一个线程等待处理2017年9月25日 21:46:07

Java是伴随Internet的大潮产生的,对网络及多线程具有内在的支持,具有网络时代编程语言的一切特点.从Java的当前应用看,Java主要用于在Internet或局域网上的网络

服务器使用Serversocket启动监听,定义一个处理类,实现Runable接口,每当获得一个Socket时将获取的socket对象最为参数传递给处理类,并启动一个线程进行处理.要注意在此处做一个线程控制,设定一个同时运行线程的最大数量,不要无限制的启动新线程,具体数量根据服务器性能来定.当超过数量限制时,将信息存储到队列中,不启动线程.当有线程执行完毕后,从队列里获取到信息实例化对象,启动新线程.

处理完成后可以试试发送一个Http请求的方式返回前台

网站地图

All rights reserved Powered by www.5213.net

copyright ©right 2010-2021。
www.5213.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com