如果您只想使用Timer,则可以执行以下 *** 作:
public class TestClass { public long myLong = 1234; public static void main(String[] args) { final TestClass test = new TestClass(); Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { test.doStuff(); } }, 0, test.myLong); } public void doStuff(){ //do stuff here }}
很抱歉,您的标识不正确。
另外,如果您需要安排代码的执行时间,请查看Guava
Services,因为它确实可以使您的代码更加清晰,并且可以抽象出创建线程,安排时间等的样板。
顺便说一句,我没有麻烦生成随机数等,但是我认为您可以弄清楚如何包括该部分。我希望这足以使您走上正确的道路。
作为记录,如果您要使用Guava,它将看起来像这样:
class CrawlingService extends AbstractScheduledService { @Override protected void runoneIteration() throws Exception { //run this alot } @Override protected void startUp() throws Exception { //anything you need to step up } @Override protected void shutDown() throws Exception { //anything you need to tear down } @Override protected Scheduler scheduler() { return new CustomScheduler() { @Override protected Schedule getNextSchedule() throws Exception { long a = 1000; //number you can randomize to your heart's content return new Schedule(a, TimeUnit.MILLISECONDS); } }; }}
您只需创建一个名为new CrawlingService.start()的主体即可。而已。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)