Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 24045|Vastaus: 0

[Konsoliohjelma] Volatiile-avainsanojen oppiminen .net/C#:ssa

[Kopioi linkki]
Julkaistu 23.5.2018 11.23.40 | | | |
MS-linkki:Hyperlinkin kirjautuminen on näkyvissä.

Volatili avainsana tarkoittaa, että kenttää voidaan muokata useiden säikeiden suorittamalla samanaikaisesti. Volatiileiksi ilmoitetut kentät eivät ole rajoitettuja kääntäjän optimoinnilla (olettaen, että niihin pääsee käsiksi yhdellä säieellä). Tämä varmistaa, että kenttä renderöidään aina viimeisimmällä arvolla.

Volatiili-modifikaattoria käytetään tyypillisesti kentille, joihin pääsee useita säikeitä, mutta jotka eivät sarjoitetaan pääsyä lukituslauseella.

Volatiileja avainsanoita voidaan soveltaa seuraaviin kenttyyppeihin:

  • Viittaustyyppi.
  • Osoitintyyppi (turvattomassa tilanteessa). Huomaa, että vaikka osoitin itsessään voi olla muokattavissa, objekti, johon se osoittaa, ei voi olla muokattavissa. Toisin sanoen, "osoitinta muokattavaan objektiin" ei voi ilmoittaa.
  • tyypit kuten sbyte, byte, short, ushort, int, uint, char, float ja bool.
  • Enum-tyyppi, jolla on jokin seuraavista perustyypeistä: byte, sbyte, short, ushort, int tai uint.
  • Yleiset tyyppiparametrit, jotka tunnetaan referenssityyppeinä.
  • IntPtr ja UIntPtr.


Muuttuvia avainsanoja voidaan soveltaa vain tietyn luokan tai rakenteen kenttiin.Paikallisia muuttujia ei voida julistaa volatiileiksi


Ei enää hölynpölyä, kirjoita silmukka testatakseni:

Testataan sitä 10 000 kertaa silmukassa,havaittiin, että arvon tulos on oikea, mutta,Se ei selitäVolatili on säikeiden turvallinenKoska jos testaat sitä monta kertaa, huomaat, että laskentavirheitä tulee olemaan! Koska on mahdollisuus oikeaan lopputulokseen ja mahdollisuus väärään lopputulokseen



Koodi:



Testataan 100 000 silmukkaa uudelleen, ja voimme huomata, että a:n arvo on väärä, koska mitä pienempi silmukoiden määrä, sitä pienempi on virheen todennäköisyys, eikä virhe ole niin ilmeinen, aivan kuten juuri nyt ei ollut virhettä 10 000 silmukan jälkeen.

Tässä vaiheessa lisäämme lukon testaukseen, ja nähdään, että arvo on laskettu oikein kuten odotimme.



Koodi:



Yhteenveto: volatili ei takaa säikeen turvallisuutta, kuten yllä olevasta esimerkistä näkyy.




Edellinen:Lataa pakettien keräystyökalu smsniff 2.0 kiinalainen versio
Seuraava:VS Remote Debug "Debug-operaatio kestää odotettua kauemmin" -ratkaisu
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com