01.03.2014 Aufrufe

Prozesse und Threads

Prozesse und Threads

Prozesse und Threads

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Posix Thread Beispiel – 8<br />

test_Thread1,arbeitet periodisch, terminiert selbst<br />

DO INDX = 1,4<br />

IStatus = pthread_mutex_lock(CountMutex)<br />

thrCount = thrCount + 1<br />

IStatus = pthread_mutex_unlock(CountMutex)<br />

IStatus = pthread_mutex_lock (WeckMutex)<br />

IStatus = pthread_cond_timedwait(WeckCond, WeckMutex, reswaittime)<br />

Error = pthread_mutex_unlock (WeckMutex)<br />

CALL TIME (CTime)<br />

IF (IStatus .EQ. 0)THEN<br />

PRINT*,a,%LOC(a),' ', IStatus,' über Mutex/Condition rausgekommen'<br />

ELSEIF (IStatus .EQ. ETIMEDOUT) THEN<br />

PRINT*,a,%LOC(a),' Timer abgelaufen thread ',a,' Lauf:',INDX,' ',CTime<br />

ELSE<br />

PRINT*,a,%LOC(a),' Ende von Condition Wait Lauf ',INDX,' um',CTime,' Fehler ', IStatus<br />

ENDIF<br />

IStatus = pthread_get_expiration_np (%REF(waittime),%REF(reswaittime))<br />

IStatus = pthread_cond_signal(CountCond) ! Signal an einen anderen Thread, einen anderen Thread anstoßen<br />

ENDDO<br />

PRINT*,a,%LOC(a), ' Fertig....thread',a<br />

RETURN<br />

END<br />

Dienstag, 30. April<br />

2013<br />

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

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!