.NET 4.x TCP сервер, является ли приведенный код потоконебезопасным - C#
Формулировка задачи:
Представим на секунду, что у нас имеется TCP сервер, который хранит экземпляры класса клиента в Словаре <ip, client>. Предполагается, что будут многократно и из разных потоков вызываться такие методы как и т.д. и т.п. Является ли подобный код потоконебезопасным и следует ли заключать подобное в блоки lock?
if (cons.ContainsKey(_ip)) cons[_ip].killCon(); if (cons.ContainsKey(_ip)) cons[_ip].incrementPersonalDirSize(_inct);
Решение задачи: «.NET 4.x TCP сервер, является ли приведенный код потоконебезопасным»
textual
Листинг программы
client _client = null; lock (locker) cons.TryGetValue(_ip, out _client); if (_client != null) { cons[_ip].killCon(); cons[_ip].incrementPersonalDirSize(_inct); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д