2014-01-28 3 views
5

Der HP Manpage (link) sagtpthread_create(): Was ist Standard-Priorität und shceduling Politik

„standardmäßig die Planungsrichtlinie des neuen Threads und Priorität sind von der Erstellung Thread geerbt --- dass Standardmäßig ignoriert die Routine pthread_create (3) die Planungsrichtlinie und die Priorität , die im angegebenen Threadattributobjekt festgelegt sind.So wird ein Thread erstellt, der der in festgelegten Ablaufsteuerungsrichtlinie und -priorität unterliegt Objekt, vor dem Aufruf Pthread_create (3) Ihr Programm muss verwenden Die pthread_attr_setinheritsched (3) -Routine zum Festlegen des Erbthreads
Attribute Scheduling-Attribut des Objekts zu PTHREAD_EXPLICIT_SCHED. "

Gilt das für Linux Posix Thread (NPTL Pthread)?

Wenn nicht, welche Faktoren beeinflussen die Prioritäts- und Zeitplanungsrichtlinie eines mit pthread_create() erstellten Threads?

Antwort

4

Von here:

die folgenden Werte in inheritsched angegeben werden:

PTHREAD_INHERIT_SCHED Threads, die attr Vererben Scheduling unter Verwendung erstellt werden Attribute von der Erstellung Gewinde; Die Planungsattribute in attr werden ignoriert.

PTHREAD_EXPLICIT_SCHED Threads, die mit Attr erstellt werden, übernehmen ihre Planungsattribute aus den Werten, die vom Attributobjekt angegeben werden.

Die Standardeinstellung des Inherit-Scheduler-Attributs in einem neu initialisierten Threadattributobjekt ist PTHREAD_INHERIT_SCHED.

So scheint das gleiche Verhalten wie die in der Frage beschrieben zu sein.

hätte ich eigentlich gedacht, dass ein solcher Standardwert durch den Standard definiert werden (ohne jedoch mit, dass die viel Erfahrung mit, ich gebe zu), aber in der letzten Zeile des Thread Scheduling Attributes Abschnitt suchen:

(...) Die Standardwerte anderer Planungsattribute sind implementierungsdefiniert.

Verwandte Themen