Skip to main content

Ano ang concurrency control?

Sa programming ng pamamahala ng data, ang control control ay isang mekanismo na idinisenyo upang matiyak na ang tumpak na mga resulta ay nabuo ng mga kasabay na operasyon.Ang mga resulta ay dapat ding makuha sa isang napapanahong paraan.Ang control control ay madalas na nakikita sa mga database kung saan mayroong isang cache ng mahahanap na impormasyon para makuha ng mga gumagamit.Ang ibig sabihin nito ay ang data na nakikipag -ugnay sa mga hanay ng mga transaksyon ay nasa isang tiyak na estado kung saan makakamit ang mga resulta kung ang lahat ng mga transaksyon ay nagpapatupad ng serially at sa isang partikular na pagkakasunud -sunod.Minsan ang data ay hindi wasto bilang isang resulta nito na binago ng dalawang mga transaksyon, kasabay.I -access.Gayunman, ito ay labis na labis, at hindi papayagan ang isang programmer na makinabang mula sa concurrency control sa isang ipinamamahaging sistema.Pinapayagan ng control control ang sabay -sabay na pagpapatupad ng maraming mga transaksyon habang pinipigilan ang mga transaksyon na ito sa bawat isa, tinitiyak ang linearizability.Ang isang paraan upang maipatupad ang concurrency control ay ang paggamit ng isang eksklusibong lock sa isang partikular na mapagkukunan para sa mga serial transaction executions na nagbabahagi ng mga mapagkukunan.Ang mga transaksyon ay i -lock ang isang bagay na inilaan upang magamit, at kung ang ilang iba pang transaksyon ay gumagawa ng isang kahilingan para sa bagay na naka -lock, ang transaksyon na iyon ay kailangang maghintay para sa bagay na i -unlock.Ang mga server na naglalabas ng mga kandado ng mapagkukunan.Ito ay halos kapareho sa mga server para sa sentralisadong mga pagbubukod sa isa't isa, kung saan ang mga kliyente ay maaaring humiling ng mga kandado at magpadala ng mga mensahe para sa pagpapakawala ng mga kandado sa isang partikular na mapagkukunan.Ang pagpapanatili ng serial execution, gayunpaman, ay kinakailangan pa rin para sa concurrency control.Kung ang dalawang magkahiwalay na mga transaksyon ay nag -access ng isang katulad na set ng bagay, ang mga resulta ay kailangang magkatulad at parang ang mga transaksyon na ito ay isinasagawa sa isang partikular na pagkakasunud -sunod.Upang matiyak ang pag-order sa pag-access sa isang mapagkukunan, ipinakilala ang dalawang-phase locking, nangangahulugang hindi pinapayagan ang mga transaksyon ng mga bagong kandado sa paglabas ng isang hiwalay na lock.Phase, kung saan nakuha ng transaksyon ang kinakailangang lock nito.Ang susunod na yugto ay itinuturing na isang pag -urong yugto, kung saan ang transaksyon ay inilabas ang mga kandado nito.Mayroong mga problema sa ganitong uri ng pag -lock.Kung ang mga transaksyon sa pagpapalaglag, ang iba pang mga transaksyon ay maaaring gumamit ng data mula sa mga bagay na binago at naka -lock ng mga ipinalaglag na mga transaksyon.Ito ay magreresulta sa iba pang mga transaksyon na na -abort.