I try to make a parallel testing runing the same script in two diferente target machines, my script use an include file with some variables declarations so I have abnormal behavior of the script, my question is: in this type of test all the variables are shared in each thread or only those variables that are declared in of the .inc file?
Global variables are shared between the threads (and therefore carry the danger of two threads trying to alter them 'simultaneously'). Local variables can be declared with a limited scope, such that each thread has it's own set of local variables, which will not be shared.
I recommend reading the chapter in the user guide on "Implementing Client/Server Testing", which gives full details about these issues, including "shareable" global variables.
Also look up the SetMachineData() and GetMachineData() functions, which come in useful in these situations.