I found that threads in Windows are a little bit more problematic, but can’t find an acceptable solution to this problem:
A Canvas subclass instantiate a Thread which builds thumbnails of pictures to be shown in the Canvas.
The same subclass instantiate a Timer which periodically check the thumbnails and update the Canvas.
The timer is set to Multiple when the thread starts and then is set to Off from the thread run event just before finishing the work.
Theoretically it should be a no brain problem and in fact it works very well on OS X. The UI remains responsive and the Canvas update.
On Windows it doesn’t work: the thread starts, and the timer Action is NEVER called.
What happens, is that the thread hijack completely the CPU and then turn off the timer when it finish the work. As a result the UI is not updated and all other operations are blocked. It behave like code not running in a thread.
To be noted: the thread is set to the lowest priority (1) and the timer period is set to 100.
Someone already encountered a problem like this?