Improve `__repr__` string of synchronize tools in the `multiprocessing` module.
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Feature or enhancement
Proposal:
To be consistant with representation string of threading sychronize tools and in accordance with the discussion from the #149447 PR , the missing id information must be added in the __repr__ of the following synchronization classes:
Lock,Rlock,Semaphore,BoundedSemaphore,Condition.
and refactoring must be performed to these 2 classes:
Event,Barrier.
See some examples below:
import threading
import multiprocessing
print(threading.Semaphore(3))
print(multiprocessing.Semaphore(3))
print(threading.Lock())
print(multiprocessing.Lock())
print(threading.Event())
print(multiprocessing.Event())
print(threading.Barrier(2))
print(multiprocessing.Barrier(2))
The ouput is:
<threading.Semaphore at 0x10378c8a0: value=3>
<Semaphore(value=3)>
<unlocked _thread.lock object at 0x103612040>
<Lock(owner=None)>
<threading.Event at 0x10378ccc0: unset>
<Event at 0x10378ccc0 unset>
<threading.Barrier at 0x10378ccc0: waiters=0/2>
<multiprocessing.synchronize.Barrier at 0x10378ccc0: waiters=0/2>
A PR will be published soon.
cc @gpshead
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
#149447
Linked PRs
- gh-155593
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne im multiprocessing-Modul mit den Klassen Lock, Rlock, Semaphore, BoundedSemaphore, Condition, Event und Barrier und vergleiche deren Repräsentationen mit threading und der Diskussion in #149447. Als abgeschlossen gilt die Arbeit, wenn die angeforderten ID-Informationen für die aufgelisteten Synchronisationswerkzeuge enthalten sind und Event und Barrier das vorgeschlagene Refactoring erhalten; beachte, dass PR #155593 bereits im Issue verlinkt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- operating-systems
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100