Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 24045|Válasz: 0

[Konzol program] volatile kulcsszava-tanulás a .net/C#-ban

[Linket másol]
Közzétéve 2018. 05. 23. 11:23:40 | | | |
MS link:A hiperlink bejelentkezés látható.

A volatil kulcsszavas azt jelzi, hogy egy mezőt több szál egyszerre futtatva módosítható. A foratilisnak nyilvánított mezők nem korlátozódnak a fordító optimalizálásával (feltéve, hogy egyetlen szál érhető el őket). Ez biztosítja, hogy a mező mindig a legfrissebb értékkel jelenik meg.

A volatile módosítót általában olyan mezőkre használják, amelyekhez több szál fér hozzá, de nem serializálják a hozzáférést zár utasítással.

A volatil kulcsszavak alkalmazhatók a következő típusú mezőkre:

  • Hivatkozás típusa.
  • Mutató típus (veszélyes helyzetben). Fontos megjegyezni, hogy bár maga a mutató változható, az objektum, amire mutat, nem lehet változtatható. Más szóval, a "módosítható objektumra mutató" nem lehet deklarálni.
  • olyan típusok, mint a sbyte, byte, short, ushort, int, uint, char, float és bool.
  • Egy enum típus, amelynek alaptípusa az alábbi típusok egyike: byte, sbyte, short, ushort, int vagy uint.
  • Általános típusparaméterek, amelyek ismerten referenciatípusok.
  • IntPtr és UIntPtr.


A változó kulcsszavakat csak egy osztály vagy struktúra mezőire lehet alkalmazni.Helyi változókat nem lehet ingadonciálisnak nyilvánítani


Nincs több hülyeség, írj egy hurkot a teszteléshez:

Teszteljük 10 000-szer egy körben is,megállapították, hogy egy érték kimenete helyes, de,Nem magyarázza megVolatile szál biztonságosMert ha sokszor teszteled, találod majd a számítási hibákat! Mert van esély a helyes eredményre, és van esélye a rossz eredményre



Kód:



Teszteljük újra 100 000 hurkot, és megállapítjuk, hogy az értéke helytelen, mert minél kisebb a hurk, annál kisebb a hiba esélye, és a hiba nem olyan nyilvánvaló, ahogy most 10 000 hurk után sem volt hiba.

Ekkor hozzáadunk egy zárat a teszthez, és látható, hogy az a értéke helyesen számított, ahogy vártuk.



Kód:



Összefoglaló: a volatil nem garantálja a szálbiztonságot, ahogy a fenti példában is látható.




Előző:Töltse le a csomaggyűjtő eszközt smsniff 2.0 kínai verzió
Következő:VS Távoli hibakeresés "A hibakeresési művelet tovább tart a vártnál" megoldás
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com