欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

timer 的使用

程序员文章站 2022-04-04 20:09:19
...
Cancel来把task 停止, schedule来启动

import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.LinkedBlockingQueue;

public class TimerClient {
	
	static LinkedBlockingQueue<String> words = new LinkedBlockingQueue<String>();
	static{
		System.setProperty("file.encoding","UTF-8");
		words.add("请妹子喝奶茶 ");
		words.add("她问这杯夺钱一杯啊 ");
		words.add("我说12块 ");
		words.add("她摇手说不喝了 口红很贵  ");
		words.add("。。。。。。");
		
	}
	
	public static void main(String[] args) {
		Timer t = new Timer();
		NewTimerTask cr = new NewTimerTask(t);
		
		Calendar cad = Calendar.getInstance();
		cad.add(Calendar.SECOND, 1);
		
		t.schedule(cr, cad.getTime(), 1500);
	
		while(words.size() == 0){
			cr.cancel();
			t.cancel();
			System.exit(0);
		}
	}
	
	public static class NewTimerTask extends TimerTask {
		Timer tm;
		
		public NewTimerTask(Timer tt) {
			tm = tt;
		}
		
		@Override
		public void run() {
			System.out.println(words.poll() );
			if(words.size() == 0) {
				try {
					tm.cancel();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}
	}
	
}



相关标签: timer