【发布时间】:2015-06-16 13:36:47
【问题描述】:
我有一个任务,在为用户生成随机密码时,SMS 应该在 4 分钟后发送,但欢迎 SMS 应该立即发送。由于密码是我首先设置的,需要在 4 分钟后发送,所以我正在使该线程休眠(不能使用 ExecutorServices),并欢迎 SMS 线程启动。
代码如下:
String PasswordSMS="Dear User, Your password is "+'"'+"goody"+'"'+" Your FREE
recharge service is LIVE now!";
String welcomeSMS="Dear goody, Welcome to XYZ";
try {
Thread q=new Thread(new GupShupSMSUtill(PasswordSMS,MOB_NUM));
Thread.sleep(4 * 60 * 1000);
q.start();
GupShupSMSUtill sendWelcomesms2=new GupShupSMSUtill(welcomeSMS, MOB_NUM);
Thread Bal3=new Thread(sendWelcomesms2);
Bal3.start();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
</code>
因此,如果我更改线程 sendWelcomesms2 立即启动的顺序。我必须发送欢迎短信然后密码短信(4 分钟后)如何实现?
注意:两条短信都在 4 分钟后发送
【问题讨论】:
-
因为您首先为您的主线程调用
sleep,然后为第二个线程调用start。 -
逐步运行该代码。
标签: java multithreading java-threads