切割数组多线程调用
Posted 爱锅巴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了切割数组多线程调用相关的知识,希望对你有一定的参考价值。
模拟切割数组数据,稍加修改可以应用于多线程调用,将System.out.println()的部分替换成线程调用即可,例子中13031就相当于数组的大小,10相当于10个线程
public static void main(String[] args)
//总数(可以理解为数组的大小)
int totalNum = 13031;
//切割次数(可以理解为线程数)
int theadNum = 10;
//10个线程,每个线程分到的大小
int everyNum = totalNum / theadNum;
//循环10次
for (int i = 0; i <= theadNum - 1; i++)
if (i == 0)
System.out.println("第一次循环:start=" + i + ";end=" + everyNum);
else if (i == theadNum - 1)
System.out.println("最后的循环:start=" + (i * everyNum + 1) + ";end=" + (totalNum - 1));
else
System.out.println("中间的循环:start=" + (i * everyNum + 1) + ";end=" + (i * everyNum + everyNum));
打印结果,数组角标从0开始,13030结束,所有的13031个元素都被切割到
第一次循环:start=0;end=1303
中间的循环:start=1304;end=2606
中间的循环:start=2607;end=3909
中间的循环:start=3910;end=5212
中间的循环:start=5213;end=6515
中间的循环:start=6516;end=7818
中间的循环:start=7819;end=9121
中间的循环:start=9122;end=10424
中间的循环:start=10425;end=11727
最后的循环:start=11728;end=13030
以上是关于切割数组多线程调用的主要内容,如果未能解决你的问题,请参考以下文章
GroovyGroovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )
Springboot 多线程分批切割处理 大数据量List集合 ,实用示例
JAVA采用实现Runnable接口的多线程技术,用50个线程,生成10000个[1-1000]间的随机整数。