Kezdőoldal » Számítástechnika » Programozás » A feldolgozóegységekből...

A feldolgozóegységekből indított szálak miképp futnak?

Figyelt kérdés

Pl egyszerre valóban képesek futni vagy nem az-az ultra rövid vagy hosszabb időközönként váltakoztassák egymást?


(ha több magom van mint egy)

És egy másik kérdésem is volna egy program futhat úgy hogy egy másik magból is használ egy szálat.


Így használna két szálat ebből egyik a Main thread a másik pedig egy olyan thread amely nem egyezik azzal a feldolgozóegységgel amelyből a Main thread indult.


2017. ápr. 22. 12:37
 1/5 A kérdező kommentje:
És lehetne egy harmadik kérdésem hány szálat éri meg futtatni egy magból és mi az oka annak hogy nem érné meg többet? Gondolom a teljesítmény rovására menne di mi az oka ennek?
2017. ápr. 22. 12:46
 2/5 A kérdező kommentje:
Talán minden szál létrehozásakor fejeződik a teljesítménye a szálaknak. Szal ha van 1GHz egymagos procim akkor egy szál esetében 1 kettő 0.5 fognak futni attól függetlenül hogy a szálakon levő folyamatok mennyit tartalmaznak.
2017. ápr. 22. 12:49
 3/5 anonim ***** válasza:
57%

1-1 szál, 1-1 thread, vagy taszk.

A processzor optimális kihasználásakor egyetlen program fut. Több program vagy több thread esetén a thread-ekre jutó teljesítmény nem egyszerűen megoszlik a threadek között, hanem tejlesítmény vesztés következik be, hiszen a processzornak el kell mentenie az aktuális thread álapotát és visszatölteni a soron következő thread-ét és hát, ez is processzoridőt igényel.

Természetesen a mai processzorok esetében ez nem annyira életbe vágó mint korábban volt, de sok thread esetén már érzékelhető mérvű lehet a veszteség.

2017. ápr. 22. 12:56
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

És miképp futnak a threadok egyszerre vagy rövid időközönként váltakoztassák egymást ezzel létrehozva egy olyan illúziót mintha egyszerre futárnak. Most melyik?


2.

Egy olyan magból amin nem a program Main threadje van hogyan indíthatok szálat?

2017. ápr. 22. 13:06
 5/5 anonim ***** válasza:

Váltakozva futnak, így keltik annak illúzióját, mintha mindegyik futna. Legalábbis ez manapság a jellemző, de van más verzió is. Az ütemező intézi a thread-ek váltogatását. Tőle függ, hogy mi mikor fut.

Vannak nagyon komplex ütemezők, ezek lehetnek olyanok, hogy bizonyos threadeket gyakrabban, másokat ritkábban futtatnak. Ez akkor kell, ha van egy thread amely fontosabb a többinél (magasabb prioritású). Ilyen pl. egy feldolgozó-program és ami nem olyan fontos (tehát ráér) az pl. egy nyomtatás thread. Ilyenkor a feldolgozó progi egy sec alatt mondjuk 49-szer, míg a másik csak 1-szer fut.

Persze ilyenkor nincs taszkváltás, csak a magasabb prioritású taszk (thread) több ideig van békén hagyva, tehát nem kerül le róla a vezérlés.


De lehet olyan is, amit te említesz, hogy az egyik thread a másik után fut le. Ütemezőtől függ.

FIFO (sorrendi), LIFO (fordított sorrendi), Round Robin (körbenjárás azonos időszeletekkel), stb.

2017. ápr. 23. 02:33
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!