Skip to content

[RWLock] Test lock and rlock clash#60

Open
manachat wants to merge 1 commit into
slon:mainfrom
manachat:patch-1
Open

[RWLock] Test lock and rlock clash#60
manachat wants to merge 1 commit into
slon:mainfrom
manachat:patch-1

Conversation

@manachat

@manachat manachat commented Mar 10, 2025

Copy link
Copy Markdown

В своей реализации использовал как и предложено 2 канала:

  • первый канал для защиты счетичка (из-за отсутствия атомков и cas)
  • второй канал как аналог cond var

В cвоей реализации я закоментировал вызов "notifyOne" в Lock, т.к. он не проходит TestNoBusyWaitInlock, т.к. постоянно будит CV из предположения, что будут желающие взять RLock. по нормальному тут надо было бы делать 2 CV, и нотифицировать точечно писателей и читателей, но не хотелось вылезать из предложения в условии про 2 канала :)
Но такая реализация зависнет на написнном мной тесте - взять RLock, зависнуть на Lock и попытаться взять второй RLock.

Вопрос соответственно: если авторское решение проходит этот тест, как предполагается использовать 2 канала? Мне пока в голову не лезет меньше трех.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant