Monitor.Enter / Monitor.Exit
Hey eksperter. To spørgsmål:(1) Jeg har et par member variabler i min klasse, som benyttes både af min hovedtråd og en worker-tråd ofte. Jeg skal derfor benytte Monitor.Enter og Monitor.Exit hver gang jeg læser/skriver fra dem. Men hvilke skal jeg beskytte på denne måde?
Jeg har læst på MSDN at man kun skal beskytte reference typer på denne måde, og ikke value typer. Jeg kan regne ud at objekt-typer som fx Control og FileInfo er reference typer, men hvilke af de simple datatyper er reference typer hhv. value typer? Her taler jeg om Strings, Int32 og Boolean.
(2) Jeg støder ind i et problem, når jeg skal beskytte member variabler som i nogle tilfælde kan være Nothing. Problemet består i, at Monitor.Enter smider en fejl, hvis jeg forsøger at beskytte en sådan tom variabel. Hvordan skal jeg gribe dette an?
På forhånd tak.
- Mikkel