diff --git a/content/blog/pyseamlessvarlock.md b/content/blog/pyseamlessvarlock.md new file mode 100644 index 0000000..d649c4f --- /dev/null +++ b/content/blog/pyseamlessvarlock.md @@ -0,0 +1,28 @@ +--- +title: "Quick Python: Seamless Variable Locks" +date: 2020-05-06T23:01:39-04:00 +draft: false +tags: ["python", "concurrency"] +--- + +Combining Python's [Getters and Setters](https://brandonrozek.com/blog/pygetset/) with locks can give us seamless thread-safe variable access. + +```python +from threading import Lock +class Person: + def __init__(self): + self._age = 0 + self.age_lock = Lock() + @property + def age(self): + a = None + with self.age_lock: + a = self._age + return a + + @age.setter + def age(self, a): + with self.age_lock: + self._age = a +``` +