Only main thread can do GUI. You should use event queue and post callback that is supposed to update the widget.
Reading the widget content in a non-main thread is a bit of problem, I guess you should use shared variable that gets updated on Post event request (and is interlocked by Mutex).