Frage

Welche Sprachen kann Hyper-Threading in realisiert werden? Ist es nur ein Teil der objektorientierten Systeme oder kann es in C umgesetzt werden?

Danke.

War es hilfreich?

Lösung

Jede Sprache und Laufzeit, die Threads unterstützt werden unterstützt Hyper-Threading.

Hyper-Threading ist eine Möglichkeit, Multiplexen einer CPU zwischen mehreren Threads - gibt es nur eine reale CPU aber es ist sichtbar für das Betriebssystem als zwei CPUs und damit zwei Threads auf es eingeplant werden. Irgendwelche Stände in der CPU in einem Thread (wie wartet auf dem Gedächtnis, lange FPU-Operationen, etc.), können die CPU-Code aus dem anderen Thread auszuführen.

Weitere Informationen über Hyper-Threading unter Wikipedia .

Andere Tipps

Hyperthreading ist zum größten Teil die gleichen wie die mehreren Prozessoren in einem System mit. Selbst wenn Ihre Sprache Threads nicht unterstützt es noch möglich ist, Ihr Programm zu machen laichen eine weitere Kopie von sich selbst oder Laich Worker-Prozesse, die (wenn die Betriebssysteme unterstützt) über die verfügbaren Prozessoren ausgeglichen werden.

Sie müssen Thread-Unterstützung für Ihre Sprache nachschlagen, aber passen Sie auf, Fäden leicht Ihr Programm erschweren und könnten in schwer führen Fehler zu finden, da der Code asynchron ausgeführt werden.

So ist die Antwort auf Ihre Frage ist ‚wahrscheinlich, aber es hängt‘.

Wie für Ihre andere Frage können Sie ganz einfach mehrere Threads in C wieder abhängig von der Laufzeit und Compiler-Unterstützung implementieren. die OpenMP-Erweiterungen zum Beispiel http://en.wikipedia.org/wiki/OpenMP könnte nützlich sein, für Sie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top