Quote Originally Posted by Evil_Giraffe View Post
Invoking back to the UI 3 or 4 times a second will be fine. If you want to get rid of some of the boilerplate you could look at using a BackgroundWorker instead of an explicit Thread, though you'll have some new boilerplate associated with the BGW, but at least you can get rid of the Invoke code. SychronisationContext won't help much because you still need to Post or Send, what you've got does basically the same thing (I haven't checked, but I'd bet that it actually uses the SynchronisationContext under the hood).

Another point about the BGW is that I believe it'll use a thread from the ThreadPool, but since you're talking about a single thread that will run for a minute or so, the overhead of creating your own Thread is negligible to the point of non-existence.
so if it uses SynchronisationContext under the hood is it not best to just use it?

This is assuming you don't need strict synchronization between threads.

sorry not following this bit? But noted on begin invoke.