Oct. 25th, 2007

juan_gandhi: (Default)
Тут мы обсуждали задачку, которую я подбросил недавно интервьюируемому.

В общем виде задача такая - есть словарь, ключ->значение, и его модифицируют параллельно сто threadов, и надо, чтобы не мешали друг другу.

Ну, чтобы не мешали, значит, нужно что-то синхронизировать. То есть, регулировать доступ, то есть, применять Прокси Паттерн (шаблон, что ли?)

Вырисовалось два решения.

1. Промежуточный индекс, от ключа к "уникальному ключу", и основной индекс, от "уникального ключа" к значению.

2. в Dictionary хранить не собственно значения, а завернуть значения в transparent enclosure, и хранить, соответственно, этих представителей. Которые и должны блокировать одновременную модификацию.

Меня тут смущает одно - а если записи ещё нету - некоторые threads её создают, и другие тоже создают... сто threadов ломанутся создавать новую запись для одного и того же ключа. Что-то надо делать, а? А что?
juan_gandhi: (Default)
Сначала - стоматологическое доказательство существования божия. "Зуб даю, бог есть".
Read more... )

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

October 2025

S M T W T F S
    1 23 4
5 67891011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 6th, 2025 08:46 pm
Powered by Dreamwidth Studios