I have a main thread that creates a form object which creates and sets a timer to run a function named updateStatus() every minute. But updateStatus() is also called by the
No.
The whole point of a Windows.Forms Timer is that it runs on the GUI Thread.
Windows (WinForms) runs something called the MessagePump (see Application.Run()
) and this is what makes the Timer possible.
All your code runs as part of an Eventhandler somehow, and a Timer tick will never 'interrupt' any other event handler.