Добрый день, есть хешмапа доступ, к которой нужен из нескольких

потоков. Алгоритм доступа такой:

- Несколько потоков добавляют в мапу ключи со значением 0
- Один поток получает по кд вектор и если значение из вектора является ключем в мапе, прибавляет к нулю n
- Потоки, которые добавляли значения в мапу, читают ее и жду когда значение станет x

Ключевая проблема в том, что мапа забирает владение ключом, а мне по нему потом хотелось бы отслеживать изменения. Есть raw_entry в Hashbrown, но тогда получается, что надо будет держать RwLock локнутым на чтение, чтобы иметь ссылку на String. Как можно построить безопасный интерфейс взаимодействия с мапой без deep copy ключа?

4 ответов

3 просмотра

Arc<String>?

Sss.- Автор вопроса
Пух
Arc<String>?

А без этого никак?

После инициализации новых ключей нет, можно ссылки на ключи давать, мб через хешбрауновский equivalence? Не до конца дочитал условие,

Sss.- Автор вопроса
Lya
После инициализации новых ключей нет, можно ссылки...

Можно получить ссылку на ключ, но тогда придется держать RwLock на мапу закрытым на чтение для каждого потока, который читает с мапы. А после дропа Guard’а, ключ получить уже никак будет нельзя

Похожие вопросы

Обсуждают сегодня

Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Как с помощью opencv найти ракету на картинке?))
ᅠ [ Кому не ответил, дублируйте ]
2
Мне вот что интересно, кто на рфе стартовал/играл, что вы фармили, в каком виде контента он прямо хорош? Экспедиция? Вроде прямо на замазанных мапах рф сдувается
Владислав
20
‌/r/pathofexile moderation changes top scoring links : pathofexile (RSS) Hi, everyone. On behalf of the subreddit mod team, I’m here to give you a few updates on the subreddi...
Esionru
3
Подскажите где можно прочитать про реализацию возможности писать человеку при подписке на телеграм канал от имени бота? Было бы не плохо если для Telegraf@3.38.0
Pan Lipton
10
У меня вопрос к знающими, стоит ли вступать в гильдии в игре или лучше полная свобода?
Енот Полоскун
17
У вас бывает ощущение, что хочется потратить весь отпуск на то, чтоб только спать?
Николай
15
Как можно настроить фильтр в пое под себя?
Yarik yarik kyda ti lezesh
15
Кто нибудь поясните это всё таки вброс или да? Про санктум слышал на поедб вбросили, а по дурке откуда инфа и на сколько это вообще правда? Пахнет шизофренией какой-то ✅Divi...
Dmitry Ritter
9
Карта сайта