mirror of
https://github.com/Brandon-Rozek/website.git
synced 2025-02-23 14:52:02 +00:00
Removed post
This commit is contained in:
parent
ea5b355757
commit
c45f48db17
1 changed files with 0 additions and 28 deletions
|
@ -1,28 +0,0 @@
|
||||||
---
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
Loading…
Reference in a new issue