切割数组多线程调用

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]间的随机整数。

在单进程单线程或单进程多线程下实现log4cplus写日志并按大小切割

C++多线程