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 – 6<br />

test_Thread1,arbeitet periodisch, terminiert selbst<br />

SUBROUTINE test_thread1(thrnum)<br />

IMPLICIT NONE<br />

!<br />

! Thread wird mehrfach (Anzahl= anzworkers), konkurrierend in MAIN erzeugt<br />

! <strong>und</strong> mittels Broadcast geweckt.<br />

!<br />

! Verwendete Prozeduren:<br />

!<br />

! pthread_cond_wait Warten auf Ereignis <strong>und</strong> aufwachen des <strong>Threads</strong> mit Mutex<br />

! pthread_cond_timedwait Warten auf Ereignis mit Timeout (verwendbar als Timer bei <strong>Threads</strong>)<br />

! pthread_get_expiration_np Bestimmung der Ablaufzeit des Timers indem zur Systemzeit ein<br />

! Delta in Sek<strong>und</strong>en addiert wird<br />

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

!<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 />

CHARACTER * 8 CTime<br />

INTEGER *4 a , thrnum, Error, INDX /0/, IStatus<br />

RECORD /PThread_TimeSpec_T/ WaitTime, ResWaitTime<br />

Dienstag, 30. April<br />

2013<br />

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

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!