Konzepte und funktionaler Vergleich von Thread-Systemen
Konzepte und funktionaler Vergleich von Thread-Systemen
Konzepte und funktionaler Vergleich von Thread-Systemen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Thread</strong>management<br />
self()<br />
create()<br />
exit()<br />
join()<br />
detach()<br />
cancel()<br />
Abbruchmaskierung<br />
Abbruchvorsorge<br />
Synchronisation<br />
Mutexes<br />
mutex_init()<br />
mutex_destroy()<br />
mutex_lock()<br />
mutex_unlock()<br />
Bedingungsvariable<br />
cond_init()<br />
cond_destroy()<br />
cond_wait()<br />
cond_signal()<br />
cond_broadcast()<br />
pthread_self()<br />
pthread_create()<br />
pthread_exit()<br />
pthread_join()<br />
pthread_detach()oder mittels Attribut bei pthread_create()<br />
pthread_cancel()<br />
pthread_setcancelstate(), pthread_setcanceltype() <strong>und</strong><br />
pthread_testcancel()<br />
pthread_cleanup_push() <strong>und</strong> pthread_cleanup_pop()<br />
Nicht-rekursiv<br />
pthread_mutex_init()<br />
pthread_mutex_destroy()<br />
pthread_mutex_lock() <strong>und</strong> pthread_mutex_trylock()<br />
pthread_mutex_unlock()<br />
pthread_cond_init()<br />
pthread_cond_destroy()<br />
pthread_cond_wait() <strong>und</strong> pthread_cond_timedwait()<br />
pthread_cond_signal()<br />
pthread_cond_broadcast()<br />
Scheduling<br />
getpriority()<br />
setpriority()<br />
pthread_getschedparam()oder mittels Attribut bei pthread_create()<br />
pthread_setschedparam()oder mittels Attribut bei pthread_create()<br />
4.2.2 <strong>Thread</strong>s in Java<br />
Die Informationen sind dem Java-Tutorial des JDK (Java Development Kit) entnommen.<br />
<strong>Thread</strong>management<br />
self()<br />
create()<br />
exit()<br />
join()<br />
detach()<br />
cancel()<br />
Abbruchmaskierung<br />
Abbruchvorsorge<br />
current<strong>Thread</strong>()<br />
Neue Instanz einer Subklasse <strong>von</strong> <strong>Thread</strong> anlegen oder eine eigene Klasse als<br />
runnable implementieren, Methode start() aufrufen. Der so neu erzeugte<br />
<strong>Thread</strong> führt die Methode run() aus.<br />
stop()<br />
join()<br />
Wegen Garbage Collection nicht nötig<br />
stop()(auffangbar) oder destroy() (definitiv)<br />
Nicht vorhanden<br />
Mittels try {...} finally {...} oder<br />
try {...} catch(<strong>Thread</strong>Death var) {...}<br />
Synchronisation<br />
Mutexes<br />
Rekursiv<br />
mutex_init() Nicht vorhanden/nötig<br />
mutex_destroy() Nicht vorhanden/nötig<br />
mutex_lock() Eintritt in synchronized {...}<br />
mutex_unlock() Austritt aus synchronized {...}<br />
Bedingungsvariable Nur eine pro Mutex<br />
cond_init() Nicht vorhanden/nötig<br />
cond_destroy() Nicht vorhanden/nötig<br />
cond_wait() wait(), Timeout-Angabe möglich<br />
cond_signal() notify()<br />
cond_broadcast() notifyAll()<br />
Scheduling<br />
getpriority()<br />
setpriority()<br />
getPriority()<br />
setPriority()<br />
19