Size: a a a

2021 December 04

OS

Oleg Safonov in DotNetRuChat
Видимо есть причины, обычный легаси, вероятно

А если найдёте достаточно большой продукт без огрехов в дизайне, то поделитесь
источник

P

Phantom in DotNetRuChat
Я вот хз, почему массив реализовывает IList<T>
источник

P

Phantom in DotNetRuChat
Можно было бы только ICollection<T>
источник

P

Phantom in DotNetRuChat
Думаю, из за того, что ICollection<T> появился в .NET Framework 2.0
источник

O

Ortofax in DotNetRuChat
так и IList<T> появился в 2.0
источник

O

Ortofax in DotNetRuChat
вместе с дженериками
источник

O

Ortofax in DotNetRuChat
если не ошибаюсь на счёт дженериков
источник

O

Ortofax in DotNetRuChat
ImmutableList<T>, появившийся уже в 5м фрэймворке, тоже реализует IList<T>, при этом там вообще все мутирующие операции приводят к исключению, а IsReadOnly возвращает true. безблагодатность
источник

P

Phantom in DotNetRuChat
🤷‍♂️
источник

O

Ortofax in DotNetRuChat
теперь-то это понятное дело легаси, ведь позже появился более-менее нормальный IReadOnlyList<> для классов с соотв. набором операций
источник

Я

Ярослав in DotNetRuChat
Приветствую. Есть ли межпроцессные именованные примитивы синхронизации, позволяющие разблокировать все ожидающие потоки процессов, не зная о их количестве? Пример - в нескольких процессах потоки становятся в ожидании определенной операции, ведущий процесс, который завершил операцию, сигнализирует об этом, после чего все ожидающие процессы потоков пропускаются дальше. Как я понял в семафоре надо точно знать количество ожидающих потоков, чтобы все их разблокировать.
источник

P

Phantom in DotNetRuChat
Мютекс не подходит?
источник

Я

Ярослав in DotNetRuChat
Ну он же один поток пропустит
источник

Я

Ярослав in DotNetRuChat
И сразу заблокируется
источник

Я

Ярослав in DotNetRuChat
Перебрал и Manual\AutoResetEvent, семафоры и мютексами. Или я чего то не понимаю, или одно из двух)))
источник

P

Phantom in DotNetRuChat
Ну так, тот поток, который будет делать эту операцию пусть пройдет первым заблокировав мютекс
источник

P

Phantom in DotNetRuChat
Когда закончит, пусть освободит
источник

S

SeanWoo in DotNetRuChat
Не очень понял задачу
источник

Я

Ярослав in DotNetRuChat
Тут видимо надо знать контекст. Короче есть межпроцессный кольцевой буфер, со своими блокировками и синхронизацией на множественную запись и чтение. Эти блокировки работают отлично. Но, требуется другим потокам сообщить о том что в буфере появился новый элемент, чтобы они его собственно считали. Т.е. они считавыют все элементы до актуального последнего, после этого, если больше элеменов новых нет - становятся в ожидание. Вот собственно это ожидание и нужно. Можно конечно использовать пайпы или юникс-сокеты - но как то жирно для этого.
источник

P

Phantom in DotNetRuChat
Channel пробовал?
источник