package cn.campsg.java.experiment.entity;
public class Postman {
private String postName;
private int mailCount;
public String getPostName() {
return postName;
}
public void setPostName(String postName) {
this.postName = postName;
}
public int getMailCount() {
return mailCount;
}
public void setMailCount(int mailCount) {
this.mailCount = mailCount;
}
public Postman() {
}
public Postman(String postName, int mailCount) {
this.postName = postName;
this.mailCount = mailCount;
}
}
package cn.campsg.java.experiment.entity;
public class SendMails extends Thread {
private Postman post;
public Postman getPost() {
return post;
}
public void setPost(Postman post) {
this.post = post;
}
public SendMails() {
}
@Override
public void run() {
int count = 0;
while (post.getMailCount() > 0) {
System.out.println(post.getPostName() + " 还有" + post.getMailCount() + "封信。开始送第 " + (++count) + "封信!");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
post.setMailCount(post.getMailCount() - 1);
}
System.out.println(post.getPostName() + " 已完成所有邮件派送!。");
}
}
package cn.campsg.java.experiment;
import cn.campsg.java.experiment.entity.Postman;
import cn.campsg.java.experiment.entity.SendMails;
public class MainClass {
public static void main(String[] args) {
System.out.println("邮递员接收派发任务后开始送信:");
for (int i = 0; i < 5; i++) {
int mCount = (int) (1 + Math.random() * 10);
Postman postman = new Postman("邮递员" + i, mCount / 2);
SendMails sendMails = new SendMails();
sendMails.setPost(postman);
new Thread(sendMails).start();
}
}
}