01.03.2014 Aufrufe

Prozesse und Threads

Prozesse und Threads

Prozesse und Threads

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Posix Thread Beispiel – 9<br />

Endlos Thread, wird von main gestoppt<br />

SUBROUTINE test_thread2(thrnum)<br />

IMPLICIT NONE<br />

!<br />

! Endlos-Thread sitzt in ConditionWait <strong>und</strong> wird von anderen <strong>Threads</strong><br />

! via SIGNAL geweckt um dann irgendeinen Unsinn zu machen<br />

! Zusätzlich: Sperren <strong>und</strong> Freigeben einer globalen Variablen mittels<br />

! Mutex Lock <strong>und</strong> Unlock<br />

! Beenden des Endlos-<strong>Threads</strong> via PTHREAD_CANCEL in MAIN<br />

!<br />

! Verwendete Prozeduren:<br />

!<br />

! pthread_mutex_init Initialisierung der Mutexvariablen<br />

! für pthread_cond_wait<br />

! pthread_cond_wait Aufwachen des <strong>Threads</strong> mit Mutex<br />

! pthread_mutex_lock WeckMutex locken für pthread_cond_wait<br />

! pthread_mutex_unlock WeckMutex freigeben nach<br />

! pthread_cond_wait<br />

INCLUDE 'GEN_INCL:ST(P<strong>Threads</strong>)'<br />

INTEGER<br />

*4 ThrCount<br />

RECORD<br />

/pthread_mutex_t/ SlowMutex<br />

RECORD<br />

/pthread_mutex_t/ WeckMutex<br />

RECORD<br />

/pthread_mutex_t/ CountMutex<br />

RECORD<br />

/pthread_cond_t/ WeckCond<br />

RECORD<br />

/pthread_cond_t/ CountCond<br />

COMMON /COM_<strong>Threads</strong>/ SlowMutex, WeckMutex, CountMutex, WeckCond,<br />

1 CountCond, ThrCount<br />

RECORD<br />

Dienstag, 30. April<br />

2013<br />

/pthread_mutex_t/ WaitMutex<br />

Betriebssysteme <strong>und</strong> nebenläufige<br />

Anwendugen - <strong>Prozesse</strong> <strong>und</strong> <strong>Threads</strong> 45

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!