1、创建一个类,用户存储信息

public class Users {
private String userid;
private String username; public Users() { } public Users(String userid, String username) {
this.userid = userid;
this.username = username;
} @Override
public String toString() {
return "Users{" +
"userid='" + userid + '\'' +
", username='" + username + '\'' +
'}';
} public String getUserid() {
return userid;
} public void setUserid(String userid) {
this.userid = userid;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} }

2、进行分页,任务分阶段

/**
* 分页
* @param list
* @param pageSize
* @param <T>
* @return
*/
public static <T> List<List<T>> splitList(List<T> list, int pageSize) {
int listSize = list.size();
System.out.println(listSize);
int page = (listSize + (pageSize - 1)) / pageSize; //分多少页
List<List<T>> listArray = new ArrayList<>(); //用于存放页码,和页面中存放的值
for (int i = 0; i < page; i++) {
List<T> subList = new ArrayList<>();
for (int j = 0; j < listSize; j++) {
int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;
if (pageIndex == (i + 1)) {
subList.add(list.get(j));
}
if ((j + 1) == ((j + 1) * pageSize)) {
break;
}
}
listArray.add(subList);
}
return listArray;
}

3、创建线程,并测试

public class Test {

    /**
* 初始化用户信息
*
* @return
*/
public static List<Users> initUser() {
List<Users> listUser = new ArrayList<>();
for (int i = 0; i < 10; i++) {
listUser.add(new Users("userId:" + i, "userName:" + i));
}
return listUser;
} /**
* 分页
* @param list
* @param pageSize
* @param <T>
* @return
*/
public static <T> List<List<T>> splitList(List<T> list, int pageSize) {
int listSize = list.size();
System.out.println(listSize);
int page = (listSize + (pageSize - 1)) / pageSize; //分多少页
List<List<T>> listArray = new ArrayList<>(); //用于存放页码,和页面中存放的值
for (int i = 0; i < page; i++) {
List<T> subList = new ArrayList<>();
for (int j = 0; j < listSize; j++) {
int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;
if (pageIndex == (i + 1)) {
subList.add(list.get(j));
}
if ((j + 1) == ((j + 1) * pageSize)) {
break;
}
}
listArray.add(subList);
}
return listArray;
} public static void main(String[] args) {
//1、初始化数据
List<Users> users = initUser(); //2、每次发送数据
int userCount = 2; //3、分段数据
List<List<Users>> lists = splitList(users, 2);
for (int i = 0; i < lists.size(); i++) {
List<Users> users1 = lists.get(i);
//4、创建线程
new Thread(new Runnable() {
@Override
public void run() {
for (Users listusers : users1) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("name: "+Thread.currentThread().getName()+" "+listusers);
}
}
}).start();
//System.out.println("i: " + i + "---" + users1);
}
}
}

4、测试结果

name: Thread-0   Users{userid='userId:0', username='userName:0'}
name: Thread-2 Users{userid='userId:4', username='userName:4'}
name: Thread-1 Users{userid='userId:2', username='userName:2'}
name: Thread-3 Users{userid='userId:6', username='userName:6'}
name: Thread-4 Users{userid='userId:8', username='userName:8'}
name: Thread-2 Users{userid='userId:5', username='userName:5'}
name: Thread-0 Users{userid='userId:1', username='userName:1'}
name: Thread-3 Users{userid='userId:7', username='userName:7'}
name: Thread-1 Users{userid='userId:3', username='userName:3'}
name: Thread-4 Users{userid='userId:9', username='userName:9'}

最新文章

  1. iOS 中的 HotFix 方案总结详解
  2. IOS TextField伴随键盘移动
  3. 我的Github之旅(一)
  4. Matlab的title如何实现换行显示?
  5. android拨打电话
  6. 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析(转)
  7. jquery动态插入行
  8. input框中的背景文字
  9. oracle周数计算方法
  10. Java-----Excel转HTML
  11. 【Centos7】Delete virtual bridge
  12. c语言基础学习06
  13. windows下安装redis3.2.100单机和集群详解
  14. JavaScript工作体系中不可或缺的函数
  15. 「2017 山东一轮集训 Day5」苹果树
  16. redis启动停止+密码认证
  17. Python网络爬虫-Scrapy框架
  18. 安装hive的web界面
  19. Rookey.Frame之实体FluentValidation验证
  20. BZOJ4568: [Scoi2016]幸运数字(线性基 倍增)

热门文章

  1. vue+element搭建后台管理界面(支持table条件搜索)
  2. 《Java 8 in Action》Chapter 5:使用流
  3. HBase 系列(八)——HBase 协处理器
  4. poium测试库之JavaScript API封装原理
  5. com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
  6. js 前端实现打印功能
  7. Unity官方案例精讲_2015_优化
  8. FZU - 1914
  9. CSU1784
  10. FZU 2235