Prozesse und Threads
Prozesse und Threads
Prozesse und Threads
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