67,513
社区成员
发帖
与我相关
我的任务
分享
package org.tiling.scheduling.examples;
import java.util.Timer;
import java.util.TimerTask;
public class EggTimer {
private final Timer timer = new Timer();
private final int minutes;
public EggTimer(int minutes) {
this.minutes = minutes;
}
public void start() {
timer.schedule(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
System.out.println("Your egg is ready!");//想把参数传到这来
// Start a new thread to play a sound...
}
}, minutes * 60 * 1000);
}
public static void main(String[] args) {
EggTimer eggTimer = new EggTimer(2);
eggTimer.start();
}
}
package sdcss.client.dyxxwh;
import java.util.Timer;
import java.util.TimerTask;
import dfsf.core.DataSet;
public class EggTimer {
private final Timer timer = new Timer();
private final int minutes;
public EggTimer(int minutes) {
this.minutes = minutes;
}
public void start() {
timer.schedule(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
String sql = "";//想把sql这个参数传过来,在调用start方法的时候
DataSet ds = new DataSet();
try {
ds.getSqlResult(sql);
} catch (Exception e) {
e.printStackTrace();
}
}
}, minutes * 60 * 1000);
}
public static void main(String[] args) {
EggTimer eggTimer = new EggTimer(2);
eggTimer.start();
}
}
public void start(final String str) {
timer.schedule(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
System.out.println(str);//想把参数传到这来
// Start a new thread to play a sound...
}
}, minutes* 1000);
}
public static void main(String[] args) {
EggTimer eggTimer = new EggTimer(2);
eggTimer.start("123");
}
package com.im.controler;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import com.im.context.IMContext;
import com.im.dto.Visitor;
public class VisitorTimeOutControler {
private static Timer timer=new Timer();
private static long delay;
private static TimerTask timerTask =new TimerTask() {
@Override
public void run() {
execute();
}
};
/**
* 超时检查
*/
private static void execute() {
for (String key : IMContext.getVisitorKeys()) {
Visitor visitor = IMContext.getVisitor(key);
Date endDate = null;
try {
endDate = IMContext.dateFormat.parse(visitor.getEndTime() == null
|| visitor.getEndTime().equals("") ? visitor
.getStartTime() : visitor.getEndTime());
} catch (ParseException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(endDate);
long offset = System.currentTimeMillis()
- calendar.getTimeInMillis();
if (offset > 0.5 * 60 * 1000) {
// 等待超时
System.out.println("移除过期对话!!--->:" + visitor.getVid());
IMContext.removeVisitor(visitor.getIp());
continue;
} else {
System.out.println(offset);
}
}
}
/**
* 启动超时检查
* @param delay
*/
public static void start(long delay){
VisitorTimeOutControler.setDelay(delay);
timer.schedule(timerTask, VisitorTimeOutControler.delay);
System.out.println("Visitor超时检查启动...");
}
/**
* 返回延期时间
* @return long
*/
public static long getDelay() {
return VisitorTimeOutControler.delay;
}
/**
* 设置延期时间
* @param delay
*/
public static void setDelay(long delay) {
VisitorTimeOutControler.delay = delay;
}
}