Um, before bothering the author, I would recommend doing a little research. The
API for
ClockDaemon tells us at the very top: "Objects of this class maintain a single thread and a task queue..." That answers the second question directly.
For the first question, since there's only one thread, I would think that the ClockDaemon has no choice other than to wait until the task is completed. The API for executePeriodically() also says "It is generally a bad idea to use a period that is shorter than the expected task duration." But it doesn't say exactly what happens. Fortunately you have the source, since that's how the package is distributed. Of you can write simple tests to see what happens. E.g.
[ July 17, 2007: Message edited by: Jim Yingst ]