[dba-VB] Threads and stuff

jwcolby jwcolby at colbyconsulting.com
Fri Oct 16 13:27:05 CDT 2009


I am trying to figure out threads.  My biggest question has to do with static declarations.  It 
appears that the thread initialization requires a static method to call.

I have a class which will start an external program / process.  This process hangs the thread it 
runs on until the external program closes or the ProcessStartInfo times out at which point 
ProcessStartInfo shuts down the external process.  It is this thing that I am trying to do in a 
thread.  I thought I would build a class, the class would contain all the thread stuff, set up the 
thread, start the thread etc.  Thus I could simply instantiate the class, pass in the program to 
run, and call a start() method to cause the class' own thread to run the process.  I got all of that 
working but... the static function that the thread runs is not visible from outside of the class if 
the class is instantiated.  That was unexpected.  I understand that a static function is designed to 
allow calling it without instantiating the class, however it makes sense to me to instantiate the 
class once for each program instance I want to run.  The thread that runs the program instance 
belongs to the class instance that opens the program instance.
Am I deluded?
Anyway, because the class method that the thread runs has to be static, all of the class properties 
(name of the program to open etc) have to be static.  I really want to initialize the class and 
manually call the same function that the thread will call but it seems that static and non-static 
cannot talk to each other.  IOW I had to copy and paste the static method to another non-static 
method and call the non-static method from the calling class.  Even inside of my class I couldn't 
call the non-static method from inside of the static method.  Every property and method reference 
from inside of the static method had to be declared static as well.

-- 
John W. Colby
www.ColbyConsulting.com



More information about the dba-VB mailing list