コードレビュー上級20

レビュー: 競合状態とスレッド安全性

pythonconcurrencythreadingrace-condition

コードレビュー課題

以下のPythonコードをレビューしてください。

背景

このコードはマルチスレッド環境で動作するカウンターシステムです。複数のスレッドから同時にカウンターを更新する可能性があります。

レビュー観点

  • スレッド安全性
  • 競合状態の可能性
  • ロックの使用
  • データの一貫性

あなたの回答

counter.pypython
import threading
class Counter:
"""Simple counter class"""
def __init__(self):
self.count = 0
def increment(self):
"""Increment counter by 1"""
self.count += 1
def decrement(self):
"""Decrement counter by 1"""
if self.count > 0:
self.count -= 1
def get_count(self):
"""Get current count"""
return self.count
def add(self, value):
"""Add value to counter"""
current = self.count
self.count = current + value
行番号をクリックしてコメントを追加(Shift+クリックで範囲選択)

最低100文字必要です

0

コメントを追加し、サマリーを100文字以上入力してください

模範解答

回答を送信するか、「表示する」をクリックすると模範解答が表示されます。