Running the same method in two separate thread is no different from running two different methods in two different threads. You will clearly see it if you consider how threads work.
It all depends on how this methods is written. The same precautions to thread synchronization apply, such as synchronization of access to any shared resources. The same very threading hazards may occur, such as
deadlocks (
http://en.wikipedia.org/wiki/Deadlock[
^]) or
race conditions (
http://en.wikipedia.org/wiki/Race_condition[
^]).
[EDIT — per our discussion]
This is a collection of my past answer on the topic:
How to get a keydown event to operate on a different thread in vb.net[
^],
Control events not firing after enable disable + multithreading[
^].
Pay attention for the thread wrapper technique, very important and convenient:
How to pass ref parameter to the thread[
^].
Translated to VB.NET by VSNetVbHarry:
Passing arguments to a threaded LongRunningProcess[
^].
—SA