次のコードは私の実際のコードではありません。この質問をするのを簡単にしました。
これは、Web アプリケーションのサーバー側コードです。
私がやりたいのは、グループが変更されたときにグループをロックすることですが、方法がわかりません。
たとえば、'GroupA' に属するユーザーがサーバーにリクエストを投稿し、'GroupA' の安全性の辞書に user_id を追加したいとします。
「GroupA」に含まれる辞書のみをロックしたい。「グループ」に含まれる辞書をロックしたくありません。
「GroupB」に属するユーザーは、「GroupA」に含まれる辞書を変更することは決してないため、
アドバイスをお願いします。
# this dictionary is mutable which means new groups could be added anytime
groups = {'GroupA': {}, 'GroupB': {}, 'GroupC': {}}
def request_handler(request):
# Assuming these come from the user's http post
user_id = request.userid
user_group = request.user_group
group = groups[user_group] # a group contains user_id's dictionary
if user_id in group:
# the value of the key 'user_id' is the number of the user's post
group[user_id] = group[user_id] + 1
else:
group.append(user_id)
group[user_id] = 1