51,409
社区成员
发帖
与我相关
我的任务
分享
package com;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Timer;
public class TestTask {
static List<Timer> stimers = new ArrayList<Timer>();
static List<Timer> etimers = new ArrayList<Timer>();
static List<Timer> timers = new ArrayList<Timer>();
/**
* @param args
*/
public static void main(String[] args) {
try {
ex();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void ex() throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
Calendar c = Calendar.getInstance();
c.setTime(new Date());
int year = c.get(Calendar.YEAR);
String month = (c.get(Calendar.MONTH) + 1) < 10 ? ("0" + (c
.get(Calendar.MONTH) + 1)) : ""
+ (c.get(Calendar.MONTH) + 1);
int day = c.get(Calendar.DAY_OF_MONTH);
String hour = c.get(Calendar.HOUR) < 10 ? ("0" + (c
.get(Calendar.HOUR))) : "" + c.get(Calendar.HOUR);
int minute = c.get(Calendar.MINUTE);
String date = year + "" + month + "" + day + "" + hour;
for (int i = 0; i < 4; i++) {
String s = String.valueOf(minute++);
String e = String.valueOf(minute++);
op(date + "" + e, date + "" + s);
}
}
public static void op(String sdate, String edate) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
End ed = new End();
Timer etimer = new Timer();
etimer.schedule(ed, new Date(sdf.parse(edate).getTime()),
24 * 6 * 1000 * 60);
etimers.add(etimer);
Start st = new Start();
Timer stimer = new Timer();
stimer.schedule(st, new Date(sdf.parse(sdate).getTime()),
24 * 6 * 1000 * 60);
stimers.add(stimer);
}
}
package com;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Start extends TimerTask {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
@Override
public void run() {
try {
Order order = new Order();
Timer timer = new Timer();
timer.schedule(order,
new Date(sdf.parse("201208211521").getTime()),
24 * 6 * 1000 * 60);
TestTask.timers.add(timer);
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com;
import java.util.Timer;
import java.util.TimerTask;
public class End extends TimerTask {
@Override
public void run() {
System.out.println("end cancel all order task "+ TestTask.timers.size());
for (Timer timer : TestTask.timers) {
timer.cancel();
}
}
}
package com;
import java.util.TimerTask;
public class Order extends TimerTask {
@Override
public void run() {
try {
for (int i = 0; i < 100000; i++) {
System.out.println("sleep 1s ");
Thread.sleep(1000);
}
} catch (Exception e) {
// TODO: handle exception
}
}
}