Code ReviewAdvanced~20 min

Review: Race Conditions and Thread Safety

pythonconcurrencythreadingrace-condition

Code Review Task

Please review the following Python code.

Background

This code is a counter system that operates in a multi-threaded environment. Multiple threads may update the counter simultaneously.

Review Aspects

  • Thread safety
  • Possibility of race conditions
  • Lock usage
  • Data consistency

Your Answer

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+クリックで範囲選択)

Minimum 100 characters required

0

Add comments and enter at least 100 characters in the summary

Model Answer

Submit your answer or click "Show" to view the model answer.