Есть ли «стандартная» реализация блокировки чтения / записи для ruby?

Кто-нибудь знает о существующей рубиновой реализации блокировки чтения / записи - http://en.wikipedia.org/wiki/Readers-writer_lock?

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

Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
3
0
1 675
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Насколько мне известно, стандартного нет, но написать его не так уж и сложно. В противном случае этот парень уже записал один. Выглядит правильно, и он предоставил тесты.

Ссылка в блоге Джонаса теперь не работает, но я построил и протестировал другую реализацию, и любой, кто хочет ее использовать, может:

https://github.com/alexdowad/showcase/blob/master/ruby-threads/read_write_lock.rb

Обратите внимание, что сначала вы должны установить отличный "атомарный" драгоценный камень от Charles Nutter и MeNTaLGuY!

Alex D 23.02.2012 18:15

Внутри драгоценного камня concurrent-ruby вы найдете Concurrent::ReadWriteLock и Concurrent::ReentrantReadWriteLock.

lock = Concurrent::ReadWriteLock.new
lock.with_read_lock  { data.retrieve }
lock.with_write_lock { data.modify! }

Другие вопросы по теме