Q:为何要使用多线程?
A:提高程序效率。假设要向10万名用户推送短信,向一位用户发送短信耗时一秒,则最终需要耗时大约28小时。此时应该考虑使用多线程,减少任务的执行时间。
Q:我应该创建多少线程?
A:因为每创建一个线程需要耗费大量CPU资源,所以应根据CPU的性能来决定使用多少线程。
情景:假设某应用程序有11名用户,使用多线程向所有用户推送短信。
首先来个简单的用户类
User.java
public class User {
private String ID;
private String name;
public User() {
super();
}
public User(String ID, String name) {
this();
this.ID = ID;
this.name = name;
}
public String getID() {
return ID;
}
public void setID(String iD) {
ID = iD;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [ID=" + ID + ", name=" + name + "]";
}
}
然后是把用户平均分配的类
ListUtils.java
public class ListUtils {
// 传入包含所有用户的List和指定每个集合中有多少用户的值,该方法会返回一个装了指定数量用户信