I did not say that, it's just an easy solution.

Another option is using synchronization (Mutex, AutoResetEvent...) and shared variables to pass the arguments between the two threads.