首页 > 编程语言 >java多现场读取list

java多现场读取list

时间:2024-03-28 11:37:56浏览次数:16  
标签:java 读取 int interval list System println data out

1.需要一个线程类

package com.cdncp.testautomation.control.conf;

import org.apache.commons.lang.ArrayUtils;

import java.util.ArrayList;
import java.util.List;

public class HandleThread extends Thread{
    private String threadName;
    private List<String> data;

    public HandleThread(String threadName, List<String> data) {
        this.threadName = threadName;
        this.data = data;
    }

    public void run() {
        // TODO 这里处理数据
//        data.subList(start, end).add("^&*");

        System.out.println(threadName);
        System.out.println(data);
    }

}

2.需要一个调用类

package com.cdncp.testautomation.control.conf;

import io.swagger.models.auth.In;

import java.util.ArrayList;
import java.util.List;

public class Test_4 {
    /**
     * 多线程处理list
     *
     * @param data      数据list
     * @param threadNum 线程数
     */
    public synchronized void handleList(List<String> data, int threadNum) {
        int len=data.size();
//        System.out.println((double)len/threadNum);
        int interval= (int)Math.ceil((double)len/threadNum);
        System.out.println("interval:"+interval);

        for (int i = 0; i < threadNum; i++) {
//            System.out.println("AA:"+i*interval);
//            System.out.println("BB:"+(interval*(i+1)-1));
            int end=interval*(i+1);

            HandleThread thread = new HandleThread("线程[" + (i + 1) + "] ", data.subList(i*interval,end > len? len:end));
            thread.start();
        }
    }

    public static void main(String[] args) {
        Test_4 test = new Test_4();
        // 准备数据
        List<String> data = new ArrayList<String>();
        for (int i = 0; i < 50; i++) {
            data.add("item" + i);
        }
        test.handleList(data, 6);
//        System.out.println(ArrayUtils.toString(data));
    }
}

 

标签:java,读取,int,interval,list,System,println,data,out
From: https://www.cnblogs.com/pingguomang/p/18101178

相关文章

  • EasyExcel库来读取指定Excel文件中的数据
    FileexcelFile=newFile(path);if(!excelFile.exists()){thrownewException("Thespecifiedexcelfiledoesnotexistatpath:"+path);}//使用EasyExcel读取文件......
  • 【wpf】ListBoxItemIndexConverter转换器listbox序号自更新
    publicclassListBoxItemIndexConverter:IMultiValueConverter{publicobjectConvert(object[]values,TypetargetType,objectparameter,CultureInfoculture){stringindexPrefix=null;if(parameter!=null&&parameter......
  • java毕业设计基于微信小程序的网上书店系统[附源码]
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,电子商务已经渗透到人们日常生活的方方面面。传统实体书店由于空间限制、库存管理、地理位置等因素,面临着巨大的运营压力和挑战......
  • 03-JavaScript数组
    1.数组(重点)思考:如何保存一个班级的所有学生的姓名?回答:一种方法利用前面学习过的知识,则每一条信息都需要一个变量去保存,缺点是这样做很麻烦,而且容易出错,又不合理;另一种方法就是利用数组。概念:数组是存储一系列值的变量集合,可以存储多个值。1.1语法数组构成:数组由一个或......
  • 【Pavia】遥感图像数据集下载地址和读取数据集代码
    【Pavia】遥感图像数据集下载地址和读取数据集代码目录【Pavia】遥感图像数据集下载地址和读取数据集代码前言Pavia数据集Pavia数据集地址:Pavia数据集预览PaviaU.matPaviaU_gt.matPavia数据集的Matlab读取方式Pavia数据集中PaviaU.mat的matlab读取代码Pavia数据集中PaviaU_gt.ma......
  • java线程池原理浅析
     问题:查询大数据量的时候,例如一次返回50w数据量的包,循环去查询发现读取会超时。解决方案:经过思考采用多线程去分页查询。使用线程池创建多个线程去查询分页后的数据最后汇总一下,解决了一次查询大量数据返回超时的问题。一次查询现状:  多线程分页查询改造图: ......
  • 2-16. 实现 ListView 添加删除同步信息功能
    本节目标实现添加和删除按钮的功能代码实现项目相关代码代码仓库:https://gitee.com/nbda1121440/DreamOfTheKingdom.git标签:20240328_0913......
  • Java零基础-集合:Java 8新增的集合操作
    哈喽,各位小伙伴们,你们好呀,我是喵手。  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把......
  • Java零基础-集合:集合框架中的工具类
    哈喽,各位小伙伴们,你们好呀,我是喵手。  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把......
  • Java零基础-集合:集合的常用方法
    哈喽,各位小伙伴们,你们好呀,我是喵手。  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把......