启动的定时器如何终止(Timer)

直接上代码。
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;


public class TimerTest {
	
	
	 private static Map timerMap=new HashMap();
	   
	    public static void awakeSend(final String taskName) {
	        try{
	        	timerMap.put(taskName,new Timer());
	        	timerMap.get(taskName).scheduleAtFixedRate(new TimerTask() {
					
					@Override
					public void run() {
						System.out.println("hello"+taskName);
						
					}
				}, 0, 1000);
	           
	        } catch(Exception ex) {
	            ex.printStackTrace();
	          
	        }
	    }
	    /**
	     * 移除定时器
	     * @param taskName
	     */
	    public static void removeTimer(String taskName){
	        try{
	        	timerMap.get(taskName).cancel();
	        	timerMap.remove(taskName);           
	        }catch(Exception e){
	            e.printStackTrace();         
	        }
	    }
	    
	    public static void main(String[] args) throws InterruptedException {
			awakeSend("task1");
			awakeSend("task2");
			Thread.sleep(6000);
			removeTimer("task1");
			removeTimer("task2");
		}
		

}
 

你可能感兴趣的:(java)