java中一个方法同一时间被调用1000次,如何控制一次只处理100次,然后10次处理完
PHP中文网
PHP中文网 2017-04-18 10:26:46
[Java讨论组]

java中一个方法同一时间被调用1000次,如何控制一次只处理100次,然后10次处理完,调用请求如何处理呢

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
PHP中文网

为什么要这么做,我觉得可能是个XY问题。

大家讲道理

假设你有数据data,使用方法function funcX(Data arg_data)来进行处理。

那么,处理一次数据,就是这么用:
funcX( data )。

现在,有1000条数据:data1、data2....data1000,那么,需要这样处理:
funcX( data1 )、funcX( data2 )....funcX( data1000 )
这种处理,正如你所说,需要进行1000次。

然而,你希望每次处理100条,只处理10次,那么,应该这样:
第1次:funcX( data1-100 )
第2次:funcX( data101-200 )
...
第10次:funcX( data901-1000 )
对吧?

所以也很简单啊,改成数组就行了:
funcX( Data arg_data ) 改成处理数组的版本:funcXArray( Data[] arg_dataArray )
然后:
第1次:data[100] dataArray1_100; funcXArray( dataArray1_100 );
第2次:data[100] dataArray101_200; funcXArray( dataArray101_200 );
...
第10次:data[100] dataArray901_1000; funcXArray( dataArray901_1000 );

黄舟
  • 使用Fork/Join框架

和@laminux29的相似,对要处理的任务编号 ,分别是1、2、3...1000,分别起10个线程,这十个线程分别处理1-100、101-200、201-300...的数据。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号