The map labelling mechanism in JViews Maps is implemented in a background thread
so that the user can continuously zoom, pan, and scroll the view without
being slowed down by the sometimes CPU-intensive layout algorithms.
As soon as user interaction with the view stops, a timer
starts. If no further change occurs in the view within a certain length
of time (a few hundreds of milliseconds typically), the label layout
process starts in the dedicated background thread. If it does not
finish before the view changes again, the current task is canceled
so that the next one can start as soon as possible.