十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天就跟大家聊聊有关JAVA中怎么利用多线程给多用户发送短信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联公司是专业的南川网站建设公司,南川接单;提供网站制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行南川网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
创建实体user
package www.it.com.test;
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 < 11; i++) {
User user = new User();
user.setId(i);
String name = String.valueOf(i);
user.setName(name);
list.add(user);
}
return list;
}
/**
* 计算出需要多少个线程
* @param list
* @param pageSize
* @param
* @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 < page; i++) {
List 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;
}
}
创建线程
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());
});
//调用第三方发送短信的接口
}
} 看完上述内容,你们对JAVA中怎么利用多线程给多用户发送短信有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。