Synchronizing data in multithreading

Multiple threads can invoke the methods or properties of an object, which can make the state of an object invalid. It is possible to make conflicting changes regarding two or more threads on the same object. This makes it important to synchronize these calls, which will allow us to avoid such issues. When the members of a class are protected from conflicting changes, they are known to be thread-safe.

The CLR provides multiple ways in which we can synchronize access to the object instance and static members:

  • Synchronize code regions
  • Manual synchronization
  • Synchronize context
  • Thread-safe collection

By default, there is no synchronization for objects, which means any thread can access methods and properties ...

Get Programming in C#: Exam 70-483 (MCSD) Guide now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.