В чём разница в поведении между lock, Monitor.Enter/Exit и ReaderWriterLockSlim в C#, и когда каждый из них предпочтительнее использовать?
lock — синтаксический сахар над Monitor.Enter/Exit с автоматическим вызовом Exit в случае исключений. Monitor даёт больше контроля: можно использовать TryEnter с таймаутом, Pulse/Wait для координации потоков. ReaderWriterLockSlim позволяет нескольким потокам читать одновременно, но блокирует запись эксклюзивно, что повышает производительность при преобладании чтений. lock — для простых критических секций, Monitor — для сложной синхронизации с сигналами и таймингом, ReaderWriterLockSlim — при частых конкурентных чтениях и редких записях.
Библиотека собеса по С#
Библиотека собеса по С#
👍2
В чем разница между dispose и finalize в C#?
Основное различие между Dispose() и Finalize() заключается в том, что Dispose() должен быть явно вызван пользователем, а метод Finalize() вызывается сборщиком мусора при уничтожении объекта.
Библиотека собеса по С#
Библиотека собеса по С#
👍2
🦾 Что такое абстракция и как она связана с ООП?
Под абстракцией понимается модель реальной жизни, упрощенная для решения конкретной задачи, которая выражена в объекте, то есть любой объект — это абстракция, так как она только частично описывает реальную сущность. Поэтому любой объект можно считать абстракцией и он только частично описывает реальную сущность. Во время преобразования реальных сущностей в объект, он лишается тех характеристик, которые являются несущественными деталями.
Например можно составить упрощенный класс человека, который умеет двигаться, а от всего остального мы абстрагируемся (в данным случае несущественно то, что он умеет дышать, кушать, видеть, слышать и так далее).
Библиотека собеса по С#
Например можно составить упрощенный класс человека, который умеет двигаться, а от всего остального мы абстрагируемся (в данным случае несущественно то, что он умеет дышать, кушать, видеть, слышать и так далее).
Библиотека собеса по С#
🤔1