Kezdőoldal » Számítástechnika » Programozás » Multithreading - Mire jó?...

Multithreading - Mire jó? Mikor használnád? Milyen buktatói vannak? Milyen eszközökkel lehet megvalósítani?

Figyelt kérdés
Sokat találkozok mostanában ezekkel a kérdésekkel. Egy használható, gyakorlatias összefoglalót szívesen átolvasnék.

2014. márc. 6. 16:31
 1/4 Tengor ***** válasza:
65%

Ezen kérdések megválaszolásához kicsi ez a kis ablak, ahova írni lehet. Gyanítom, hogy a kérdéseidre való válaszokból 1-1 könyvet meg lehetne tölteni.

A neten számtalan leírás és cikk szól ezekről. Járj utána és ha valami nem világos, akkor kérdezz!

2014. márc. 6. 17:04
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
100%

Nagyon zanzásítva, mert ahogy #1 is írja, sokat lehetne róla írni:

Mire jó?

-Alkalmazás válaszkészségének fenntartása

-Teljesítmény növelésre, amennyiben több végrehajtó egység is van a gépedben.


Mikor használnám?

-hosszabb műveletek (például hálózati műveletek, nagyobb számítások) végrehajtását háttér szálon KELL csinálni, különben "befagy" a felhasználói felület. Ez már 10 éve is "ciki" volt, ma meg már egyenesen megengedhetetlen.

-ha a feladat jól párhuzamosítható, illetve érdemes megtenni, akkor egyszerre több szálon végrehajtani, ezáltal hamarabb végez vele a processzor


Milyen buktatói vannak?

-nagyon könnyű rosszul csinálni, főleg ha egy feladatot akarsz párhuzamosan végrehajtani. Eleve nem minden algoritmus párhuzamosítható (=>keresni kell másikat, ami lehet, hogy egy CPU mag által végrehajtva lassabb lesz...), de mindegyiknél fellép a szinkronizáció kérdése, illetve a deadlock veszélye. Előbbi alattomos hibákat tud okozni (például minden századik lefutás esetén rossz), utóbbi pedig a szoftver lefagyását okozza.


Milyen eszközökkel lehet megvalósítani?

Ez abszolút platform- és nyelvfüggő. Általánosságban elmondható, hogy mindegyik mai környezetben elérhető egy ThreadPool jellegű megoldás (több szál fut, te ezek közül kérhetsz egyet, hogy végrehajtson egy feladatot), ezek használata szokott lenni a legkényelmesebb.

2014. márc. 6. 21:51
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
2-es válaszhoz kiegészítésképpen: többszálas programban nagyon könnyű hibát csinálni, de vannak olyan megoldások, amelyek csökkentik a hibalehetőségeket. Ilyen az Erlang programozási nyelv.
2014. márc. 7. 22:11
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Köszönöm a segítséget!
2014. márc. 9. 16:11

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!