This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

java.util.TimerTask


Hi

Does anybody know how java.util.Timer is supposed to work? I think I'm
doing something wrong, but I'm not really sure as to exactly what:

		mTimer=new Timer();
		mQueueTask=new QueueTask(); 	//inherits from TimerTask 
						//and does something
		mTimer.schedule(mQueueTask,0,pIntervalMillis);

The fact that a task has been scheduled to run, doesn't keep the
executable running. It exits anyway.

The JDK documentation, however, suggests that the executable should stay
alive.

http://java.sun.com/docs/books/tutorial/essential/threads/timer.html

"By default, a program keeps running as long as its timer threads are
running."

Is my interpretation correct that the code above should keep on running?

When I add the following workaround, the executable doesn't exit any
longer, but indeed stays alive:

//		while(true)
//		{
//			try
//			{
//				wait(10000);
//			}
//			catch(Exception e)
//			{
//			}
//		}

The only issue with this way of keeping the executable alive, is the
fact that it consumes exorbitant amounts of CPU. I don't know why but,
"wait(10000)" seems to be very expensive in terms of processor capacity.

Does anybody know how to save CPU resources in such context?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]