Skip to content

Instantly share code, notes, and snippets.

@bjpeterdelacruz
Created February 18, 2014 00:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bjpeterdelacruz/9062414 to your computer and use it in GitHub Desktop.
Save bjpeterdelacruz/9062414 to your computer and use it in GitHub Desktop.
Solution to Bug Patrol #1
// ...
if (!this.serialsSet.contains(serial)) { // if (!flag) {
this.serialsSet.add(serial); // flag = true;
Runnable task = new Runnable() {
/** {@inheritDoc} */
@Override
public void run() {
// Use try-finally. Before the thread dies, it will reset the boolean variable.
try {
processSerial(serial);
}
finally {
serialsSet.remove(serial); // flag = false;
}
}
};
this.scheduler.schedule(task, NUM_SECONDS,
TimeUnit.SECONDS);
}
// ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment