Kezdőoldal » Számítástechnika » Programozás » Mik a tipikus hibák párhuzamos...

Mik a tipikus hibák párhuzamos programozásban?

Figyelt kérdés

Tipikusan elkövethető hibák és ezek elkerülése / megoldása érdekel.

Személyes tapasztalatból, vagy tanult anyagból.



#programozás #párhuzamosprogramozás
2014. aug. 16. 21:35
 1/4 anonim ***** válasza:
100%

Ilyen a deadlock.

De töméntelen mennyiségű anyag van a neten, olyan nincs, hogy nem találtad meg.

2014. aug. 16. 22:12
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
100%
Elég sok hiba lehet, akár deadlock is ahogy mondták.
2014. aug. 16. 22:39
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
100%

Ez tényleg bonyolultabb kérdés, így csak felületesen pár, lehetséges megoldással:

1. két (vagy több) szálból párhuzamosan akarod elérni ugyanazt az erőforrást. Ekkor ha egyszerre próbálnak meg hozzáférni, és legalább az egyik írni akarja, megjósolhatatlan lesz a végeredmény. Lehetséges megoldások: atomi műveletek, szinkronizálás.

2. háttérszálból akarod módosítani a GUI-t. Ezt nem szokta szeretni egyik rendszer sem, legtöbbször elszáll a programod. Megoldás: csak GUI szálból férsz hozzá a kezelőfelülethez.

3. Beállok én is a sorba: deadlock. Ez csak szinkronizálás esetén alakulhat ki, mégpedig akkor, ha két szál párhuzamosan akar hozzáférni olyan erőforráshoz, amelyet a másik birtokol. Szinkronizáláskor általános esetben blokkolódik a szál addig, amíg fel nem szabadítják az erőforrást, de mivel ekkor mindkettő szál a másikra vár, ez érhetően sosem fog bekövetkezni. Lehetséges megoldások: csak megadott sorrendben foglalnak le erőforrást (nem mindig járható út), vagy ha adott környezet lehetőséget biztosít rá, timeout-ot adsz meg a lock-nak (és ha elhasal, minden erőforrást felszabadítasz, amit adott szál foglal, és másnak szüksége lehet rá).

2014. aug. 17. 00:09
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

Első sorban a tapasztalatokra voltam kíváncsi, amit ugyan elkerülnek azok, akik tanulták innen-onnan az anyagot, mégis belecsúsznak a hibába.


Én egy legacy kódban találkoztam az randevúval és a tranzakció kezelés helyetti lockolással. Érdekelt, hogy melyik hibával találkoztatok már "késznek" mondott programban.

2014. aug. 17. 13:37

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!