See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 2259|Vastuse: 0

Jagatud luku ja eksklusiivse luku küsimuste analüüs

[Kopeeri link]
Postitatud 08.11.2024 13:35:40 | | | |
Mitme kasutajaga jagatud süsteemis võib mitu kasutajat, kes töötavad sama andmega, põhjustada andmete ebajärjekindlust, mistõttu on samaaegsete operatsioonide lukustamistoimingud vajalikud tehingute samaaegse täitmise kontrollimiseks.

Jagatud lukk:Nagu nimest näha, saab lukku jagada, kirjutamistoimingut ei tohi jagada, niipea kui jagatud andmed kirjutatakse juhuslikult, pole "lukku", millest rääkida, seega jagatud lukk on lugemisoperatsioon "jagamine", st lukku ei saa enam kirjutada pärast selle luku lisamist, kuid seda saab lugeda, seda võib nimetada ka ainult lugemiseks mõeldud lukuks.
Eksklusiivsed lukud:Eksklusiivne lukk on domineerivam, seni kuni ma selle luku lisan, ei saa muid operatsioone läbi viia, miks? Kuna ma tahan andmeid muuta, kuna ma tahan neid muuta, ei tohi ma lasta teistel neid uuesti muuta ega lisada ainult lugemiseks mõeldud lukustust, sest ainult lugemislukuga ei saa ma kirjutamistoiminguid teha.

Näiteks kui tehing T1 lisab jagatud luku andmetele D1 ning tehingud T2 ja T3 lisavad eksklusiivsed lukud andmetele D2 ja D3, siis tehing T1 lisab andmetele jagatud luku (51). Tehingu T2 paari andmed (52).

(51) Vastus: D

A. D2 ja D3 koos lukku on edukad
B. D2, D3 pluss jagatud lukk on edukad
C. D2 pluss jagatud lukk õnnestub, D3 lisab, et lukk ebaõnnestub
D. D2, D3 pluss eksklusiivsed lukud ja jagatud lukud kõik ebaõnnestuvad

(52) Vastus: C

A. D1, D3 pluss jagatud lukk kõik ebaõnnestusid
B. D1, D3 pluss jagatud lukk õnnestuvad
C. D1 pluss jagatud lukk õnnestus, D3 lisas veel ühe lukku, mis ebaõnnestus
D. D1 pluss lukk õnnestus ning D3 ei lisanud jagatud lukku

Kui on ühine lukk, saad lisada jagatud lukku, aga eksklusiivset lukku lisada ei saa. Kui on eksklusiivne lukk, siis ei saa lisada ei jagatud ega eksklusiivset lukku.







Eelmine:Redundantne tehnoloogia arvutites
Järgmine:.NET/C# arvutab hulknurga pindala
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com