I have a Python/wxPython program where the GUI is the main thread and I use another thread to load data from a file. Sometimes the files are big and slow to load so I use a wxPulse dialog to indicate progress.
As I load the file, I count the number of lines that have been read in the counting thread, and I display this count in the wxPulse dialog in the main thread. I get the count in the main thread by reading the same variable that is being written to by the loading thread.
Is this "thread safe"? Could this somehow cause problems? I've been doing it for awhile and it has been fine so far.
PS. I know I could use a queue to transfer the count, but I'm lazy and don't want to if I don't have to.