Sincronizare
Această intrare sau secțiune despre programare nu citează sursele necesare sau cei prezenți sunt insuficienți . |
În informatică , sincronizarea este problema ordonării temporale a operațiilor.
Dacă toate operațiunile sunt efectuate în serie, problema de sincronizare nu există. Cu toate acestea, de multe ori, pentru a exploata mai bine sistemul și, prin urmare, a accelera procesarea, se utilizează paralelismul , care constă în pornirea mai multor fluxuri de execuție simultane (vezi multithreading ). Atâta timp cât operațiunile efectuate în paralel utilizează părți distincte ale sistemului, nu există nicio problemă, dar, atunci când două componente hardware sau software funcționează în paralel pe aceeași parte a sistemului, poate exista un conflict.
Codul care poate fi executat doar printr-un proces la un moment dat (deoarece conține date partajate, acces la resurse etc.) se numește o secțiune critică .
Unele conflicte pot fi rezolvate doar prin garantarea excluderii reciproce , adică prin serializarea acceselor, în sensul că primul care trebuie să opereze în partea comună îl blochează, îl operează și îl eliberează în cele din urmă, iar al doilea, când îl găsește blocat, se oprește în așteptarea deblocării acestuia. Excluderea reciprocă este cel mai simplu tip de sincronizare și se poate realiza prin intermediul unor monitoare , încuietori sau semafoare .
Pentru a evita alte tipuri de conflicte, sunt necesare forme mai complexe de sincronizare.
Elemente conexe
Alte proiecte
- Wikționarul conține lema dicționar « sincronizare »
- Wikimedia Commons conține imagini sau alte fișiere despre sincronizare