Безопасность потоков C# с помощью get / set

Параллельное программирование csharp было бы довольно простым, если thread-safety бы ваш подход мог работать. Но locking это не так, айсберг, который thread-safe тонет, что Титаник, например, клиент property вашего класса делает следующее:

objectRef.MyProperty += 1;

Гонка .cs-file чтения-изменения-записи довольно c# очевидна, есть и похуже. Вы thread-safe ничего не можете сделать, чтобы property сделать вашу собственность c-sharp потокобезопасной, кроме как c# сделать ее неизменной. Это locking ваш клиент должен справиться .cs-file с головной болью. Вынужденное c#.net делегирование такой ответственности thread-safe программисту, который с меньшей threadsafe вероятностью поймет это правильно, является .cs-file ахиллесовой пятой параллельного c-sharp программирования.

c#

locking

properties

thread-safety

2022-07-24T05:30:55+00:00