Связанный список Тема безопасна? - PullRequest
4 голосов
/ 16 марта 2009

Ну, я пишу в .net, и у меня есть список, к которому я добавлю только элемент, который никогда не будет удален, и это связанный список, я могу изменить это, если это не лучший выбор, но в любом случае было бы безопасно не делать этого. использовать любую блокировку в этом случае, когда я знаю, что этот список никогда не будет изменен каким-либо другим способом, кроме того, что его добавили? (при попытке добавить в список будет использоваться блокировка)?

Ответы [ 2 ]

6 голосов
/ 16 марта 2009

Нет; чтобы поддержать многих читателей и одного писателя (комментарии к ответу Джареда), вы можете посмотреть на ReaderWriterLockSlim. Автор требует эксклюзивного доступа; читатели могут сотрудничать. Это то, что делает ReaderWriterLockSlim. Существует также ReaderWriterLock до 3,5.

Вам нужно будет вручную обработать ввод / вывод и т. Д., В идеале - через try / finally.

3 голосов
/ 16 марта 2009

Нет, это не безопасно. LinkedList не является потокобезопасным классом. Единственный поддерживаемый многопоточный сценарий для LinkedList - несколько читателей

http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...