JAVA模拟多线程给多用户发送短信

这篇文章主要介绍了JAVA模拟多线程给多用户发送短信,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了JAVA模拟多线程给多用户发送短信,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码编写逻辑,假设需要给11个用户发送短信,每一个线程给两个用户发送短信,实现多线程的并发处理

创建实体user

package www.it.com.test; /** * @author wangjie * @date 2019/11/20 17:10 * @description * @company 石文软件有限公司 */ public class User { private String name; private Integer id; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public User() { } public User(String name, Integer id) { this.name = name; this.id = id; } @Override public String toString() { return "User{" + "name='" + name + ''' + ", id=" + id + '}'; } }业务代码package www.it.com.test; import java.util.ArrayList; import java.util.List; /** * @author wangjie * @date 2019/11/20 17:09 * @description * @company 石文软件有限公司 */ public class BranchThread { public static void main(String[] args) { //准备数据源 List userList = getinitUser(); //定义每个线程处理多少用户 Integer count = 2; //根据用户数确定需要多少个线程 List> lists = splitList(userList, count); //将用户传每个线程执行 for (List list:lists) { UserThread userThread=new UserThread(list); Thread thread=new Thread(userThread); //启动线程 thread.start(); } } /** * 初始话数据 * @return */ public static List getinitUser() { ArrayList list = new ArrayList(); for (int i = 0; i * @return */ public static List> splitList(List list, int pageSize) { int listSize = list.size(); int page = (listSize + (pageSize - 1)) / pageSize; List> listArray = new ArrayList>(); for (int i = 0; i subList = new ArrayList(); for (int j = 0; j创建线程package www.it.com.test; import java.util.List; /** * @author wangjie * @date 2019/11/20 17:03 * @description 给11个人分批发送短信 * @company 石文软件有限公司 */ public class UserThread implements Runnable{ private List userList; public UserThread(List userList) { this.userList = userList; } public List getUserList() { return userList; } public void setUserList(List userList) { this.userList = userList; } @Override public void run() { userList.forEach(user -> { System.out.println("线程"+Thread.currentThread().getId()+user.toString()); }); //调用第三方发送短信的接口 } }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...