Это выглядит поточно-ориентированным, но вы можете подумать об обработке исключений; установка поля не должна быть ошибкой (за исключением, возможно, ThreadAbortException
), но если код был более сложным, вы должны убедиться, что вы освободили мьютекс при исключении.
Я бы тоже посмотрел на Monitor
("замок" в C #)
Еще одна мысль: даже если вы заблокируете доступ к полю, массив по своей природе изменчив. Попробуйте вместо этого использовать string
, так как это неизменяемое?