Kako se izognete stanju dirke v nitih?
Kako se izognete stanju dirke v nitih?

Video: Kako se izognete stanju dirke v nitih?

Video: Kako se izognete stanju dirke v nitih?
Video: Замените этот цвет нити на руке и жизнь будет полной чашей 2024, November
Anonim

Pogoji dirke se je mogoče izogniti s pravilnim nit sinhronizacija v kritičnih odsekih. Nit sinhronizacijo je mogoče doseči z uporabo sinhroniziranega bloka Java Koda. Nit sinhronizacijo je mogoče doseči tudi z uporabo drugih sinhronizacijskih konstrukcij, kot so ključavnice ali atomske spremenljivke, kot je java.

Podobno se postavlja vprašanje, kaj se moramo zavarovati pred stanjem na dirki?

Za izognili se dirkam, ki jih potrebujemo Vzajemna izključitev. Vzajemna izključitev je način zagotavljanja, da če en proces uporablja spremenljivko ali datoteko v skupni rabi, drugi procesi volja biti izključen iz delati iste stvari.

Kasneje se postavlja vprašanje, koliko procesov je dovoljenih v njihovem kritičnem delu, če želimo preprečiti, da bi se stanje dirke zgodilo? Izogniti se tekmovalni pogoji , je treba vzajemno izključitev uveljaviti znotraj kritični odseki . Prepoveduje več kot enega proces od dostopa do skupnega pomnilnika hkrati. Če ne dveh procesov vstopi njihove kritične odseke hkrati pa ne tekmovalni pogoji.

Vedeti tudi, kakšno je stanje dirke v nitih?

A dirkalno stanje se pojavi, ko sta dva ali več niti lahko dostopajo do skupnih podatkov in jih poskušajo hkrati spremeniti. Zaradi nit algoritem razporejanja lahko preklaplja med niti kadar koli ne veste, v kakšnem vrstnem redu niti bo poskušal dostopati do skupnih podatkov.

Kakšno je stanje dirke, navedite primer?

Preprosto primer od a dirkalno stanje je stikalo za luč. V nekaterih domovih je več stikal za luči, povezanih s skupno stropno lučjo. Ko se uporabljajo te vrste vezij, postane položaj stikala nepomemben. Če je luč prižgana, če premaknete katero koli stikalo iz trenutnega položaja, se luč ugasne.

Priporočena: