Natknąłem się na sytuację, w której komórka ref zawierające wartość boolowską pozwala mi dość wygodnie rozwiązać problem polegający na wskazaniu pętli oczekującej na wirowanie, aby zatrzymać oczekiwanie na wirowanie. Muszę oznaczyć tę flagę jako zmienną (tj. [<VolatileField>]
), ale takie pole musi być mutable
zgodnie z kompilatorem, co jest dokładnie tym, czego nie chcę, aby odniesienie było - Chcę, aby jego zawartość była zmienna, a nie odniesienie do samego pola komórki.F #: czy istnieje sposób na oznaczenie zawartości komórek referencyjnych jako niestabilnej?
Czy istnieje standardowy sposób opowiadać ref komórkę oznaczyć jego zawartość jako lotny lub muszę toczyć własną komórkę ref (tj kopiuj-wklej średnia definicja komórek ref z [<VolatileField>]
zatrzymany tuż nad mutable contents
)? Dobrze, że sprostowanie do faktu, że nie można zaznaczyć pola nagrać jako lotny ...
Interfejs API "Interlocked" wstawia bariery pamięci podczas odczytu/zapisu 'ref'. czy to byłoby dla Ciebie ok? – FuleSnabel