Smernice oddelenia QNX

com.microstepmis.schd
Class SchdProcess

java.lang.Object
  extended by com.microstepmis.schd.SchdProcess
All Implemented Interfaces:
java.lang.Runnable

public class SchdProcess
extends java.lang.Object
implements java.lang.Runnable

Objekt obalujuci schedulerom kontrolovany proces.

(c) 2004 MicroStep-MIS www.microstep-mis.com

TODO: poriadne preverit uvolnovanie resourcov ! (MatoG)

Version:
$Id: SchdProcess.java,v 1.6 2005/03/07 13:03:55 matog Exp $
Author:
$author$

Constructor Summary
  SchdProcess(ProcessStatus st)
          Vytvori novy SchdProcess objekt.
  SchdProcess(java.lang.String processName, java.lang.String className, java.lang.String[] args)
          Vytvori novy SchdProcess objekt s threadom na priorite volajuceho threadu.
  SchdProcess(java.lang.String processName, java.lang.String className, java.lang.String[] args, int priority)
          Vytvori novy SchdProcess objekt.
protected SchdProcess(java.lang.String processName, java.lang.String className, java.lang.String[] args, int priority, long pid)
          Vytvori novy SchdProcess objekt.
 
Method Summary
 java.lang.String getClassName()
          Vrati className procesu.
 java.lang.Object getObject()
          Vrati objekt triedy s menom getClassName(), na ktorom sa spustila metoda main.
 long getPid()
          Vrati pid procesu.
 int getPriority()
          Vrati prioritu procesu.
 java.lang.String getProcessID()
          Vrati processID.
 java.lang.String getProcessName()
          Vrati meno procesu, pod ktorym bol spusteny.
 java.lang.Thread getThread()
          Vrati hlavny thread procesu.
 java.lang.ThreadGroup getThreadGroup()
          Vrati threadgrupu procesu.
 int kill()
          "Makky" kill - skusime povedat objektu, ktoreho metoda main bezi, aby skoncil.
 void registerResource(Disposable resource)
          Funkcia umoznujuca registrovat zdroje, ktore po dobehu threadov treba pouvolnovat (timery a pod.)
protected  void releaseResources()
          Uvolnenie registrovanych zdrojov po dobehu.
 void run()
          Hlavne telo SchdProcesu - ziska sa class, vytiahne metoda main, pusti sa, pocka sa na dobeh potencialne dalsich popustanych threadov.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SchdProcess

protected SchdProcess(java.lang.String processName,
                      java.lang.String className,
                      java.lang.String[] args,
                      int priority,
                      long pid)
Vytvori novy SchdProcess objekt.

Parameters:
processName - meno procesu
className - class, ktora sa ma pustit
args - argumenty, ktore budu odovzdane metode main
priority - priorita, na ktorej pustit thread
pid - -1, ak este nebol prideleny, inak kladny pid prideleny schedulerom.

SchdProcess

public SchdProcess(java.lang.String processName,
                   java.lang.String className,
                   java.lang.String[] args,
                   int priority)
Vytvori novy SchdProcess objekt. Vhodny na rucne spustanie.

Parameters:
processName - meno procesu
className - class, ktora sa ma pustit
args - argumenty, ktore budu odovzdane metode main
priority - priorita, na ktorej pustit thread

SchdProcess

public SchdProcess(java.lang.String processName,
                   java.lang.String className,
                   java.lang.String[] args)
Vytvori novy SchdProcess objekt s threadom na priorite volajuceho threadu. Vhodny na rucne spustanie.

Parameters:
processName - meno procesu
className - class, ktora sa ma pustit
args - argumenty, ktore budu odovzdane metode main

SchdProcess

public SchdProcess(ProcessStatus st)
Vytvori novy SchdProcess objekt. Tuto funkciu by mal volat len scheduler, pre ostatnych uzivatelov su urcene SchdProcess( processName, className, args, ...)

Parameters:
st - inicializovany ProcessStatus od Schedulera
Method Detail

run

public void run()
Hlavne telo SchdProcesu - ziska sa class, vytiahne metoda main, pusti sa, pocka sa na dobeh potencialne dalsich popustanych threadov.

Specified by:
run in interface java.lang.Runnable

getClassName

public java.lang.String getClassName()
Vrati className procesu.

Returns:
class, ktorej metoda main bezi v ramci procesu.

getPid

public long getPid()
Vrati pid procesu.

Returns:
pdi procesu.

getPriority

public int getPriority()
Vrati prioritu procesu.

Returns:
priorita hlavneho threadu, na ktorej bol tento pusteny.

getProcessID

public java.lang.String getProcessID()
Vrati processID. V principe by stacil len PID, ale ThreadGroup neumoznuje mat ine meno ako String.

Returns:
processID (stringova reprezentacia PID-u).

getProcessName

public java.lang.String getProcessName()
Vrati meno procesu, pod ktorym bol spusteny.

Returns:
meno, pod ktorym bol proces spusteny.

getThreadGroup

public java.lang.ThreadGroup getThreadGroup()
Vrati threadgrupu procesu.

Returns:
thread group procesu.

getThread

public java.lang.Thread getThread()
Vrati hlavny thread procesu.

Returns:
hlavny thread procesu.

getObject

public java.lang.Object getObject()
Vrati objekt triedy s menom getClassName(), na ktorom sa spustila metoda main.

Returns:
objekt, na ktorom sa spustila metoda main (null, ak je main staticky)

kill

public int kill()
"Makky" kill - skusime povedat objektu, ktoreho metoda main bezi, aby skoncil. Volanie vrati chybovu hlasku, ak bezi staticka metoda (= nie je objekt), alebo objekt neimplementuje rozhranie Disposable(). Neodporuca sa volat metodu priamo, volajte Scheduler.killProcess( pid );

Returns:
0, ak sa makky kill podaril, -1, ak bezi staticka metoda (nemame komu oznamit kill) -2, alebo objekt neimplementuje interface Disposable()

registerResource

public void registerResource(Disposable resource)
Funkcia umoznujuca registrovat zdroje, ktore po dobehu threadov treba pouvolnovat (timery a pod.)


releaseResources

protected void releaseResources()
Uvolnenie registrovanych zdrojov po dobehu. Volane automaticky z run().


Smernice oddelenia QNX

(c) MicroStep-MIS 2004. Urcene vyhradne pre potreby MicroStep-MIS.