Reputation: 6771
I have written a code in Java, something like this:
....
while (conditionX) {
//fetch m
....
t = new Thread(new SomeRunnable(m));
t.start();
Thread.sleep(500);
}
....
class SomeRunnable implements Runnable {
String msisdn;
public SomeRunnable (String m) {
msisdn = m;
}
@Override
public void run() {
do {
//Statement block S uses msisdn, sets condition Y
Thread.sleep(30000);
} while (conditionY);
}
}
I am not comfortable with the number Thread.sleep()
s I have used in the code. To avoid this I tried ScheduledExecutor etc, but couldn't really figure out a way to do what I want.
I need half a second delay before a new thread is started, and in the thread, there has to be a 30s delay before the statement block S is tried again.
Please help me with a better way to code this using proper classes.
I have only provided an idea of how my code's work flow is, if I've to provide more info, please let me know.
Thanks
Upvotes: 2
Views: 319
Reputation: 1039
If you are using Spring to configure your beans you can focus just on implementing your business logic and leverage Spring's hooks for managing the tasks, schedules, etc.
http://static.springsource.org/spring/docs/1.2.x/reference/scheduling.html
Upvotes: 1