java多线程读取、操作List集合

import java.util.ArrayList;

import  java.util.List;

import  org.apache.commons.lang3.ArrayUtils;

public  class  Test_4 {

/**

* 多线程处理list

*

* @param data  数据list

* @param threadNum  线程数

*/

public  synchronized  void  handleList(List<string> data,  int  threadNum) {</string>

int  length = data.size();

int  tl = length % threadNum ==  0  ? length / threadNum : (length

/ threadNum +  1 );

for  ( int  i =  0 ; i < threadNum; i++) {

int  end = (i +  1 ) * tl;

HandleThread thread =  new  HandleThread( "线程["  + (i +  1 ) +  "] " ,  data, i * tl, end > length ? length : end);

thread.start();

}

}

class  HandleThread  extends  Thread {

private  String threadName;

private  List<string> data;</string>

private  int  start;

private  int  end;

public  HandleThread(String threadName, List<string> data,  int  start,  int  end) {</string>

this .threadName = threadName;

this .data = data;

this .start = start;

this .end = end;

}

public  void  run() {

// TODO 这里处理数据

data.subList(start, end).add( "^&*" );

System.out.println(threadName)

}

}

public  static  void  main(String[] args) {

Test_4 test =  new  Test_4();

// 准备数据

List<string> data =  new  ArrayList<string>();</string></string>

for  ( int  i =  0 ; i <  5000 ; i++) {

data.add( "item"  + i);

}

test.handleList(data,  5 );

System.out.println(ArrayUtils.toString(data));

}

}

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )