Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5879

[Python-de] Re: Code Style Review

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Stefan Schwarzer <sschwarzer@sschwarzer.net>
Newsgroups de.comp.lang.python
Subject [Python-de] Re: Code Style Review
Date Tue, 29 Nov 2022 23:16:21 +0100
Lines 50
Message-ID <a01a3891-072e-175b-faeb-166b1ee6fce2@sschwarzer.net> (permalink)
References <tm2jhn$1k5h8$1@news1.tnib.de> <480b80d21e58d280c437b4854bfc7cf1@posteo.de> <d60e87cd-51b9-084e-3fb6-d15b7588004d@chrisarndt.de> <tm37ut$1lfhm$1@news1.tnib.de> <3d4a86fc-9794-30bb-4f28-6154caf24cfa@sschwarzer.net> <Y4ZvNHXvT2LMOmqS@torres.zugschlus.de>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de On5b37tsXR2TCq1Eut3wEA1oiZfEHqdBDO9T6Eq7P5Ng==
Authentication-Results mail.python.org; dkim=none reason="no signature"; dkim-adsp=none (unprotected policy); dkim-atps=neutral
User-Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.24) Gecko/20100411 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666
Content-Language en-US, de-DE
In-Reply-To <Y4ZvNHXvT2LMOmqS@torres.zugschlus.de>
X-Provags-ID V03:K1:lnGNUGGsvmWFPNJXTgksloR/qpbwXLyZzlV4EDjDc6pjusT952Q EkKFt19Mgh8CuAQp6Kauc+pbNY6OFgicaTDv0RDtehxO96YuYuNr5rPCT+6TwGP3SaWSgx7 vuVLbi7xyOEd73odGHmlFMSIq7t80NO9ezanVacSkqKqEIbZ3uB0QFbunHwHHw0W/nCanL+ KmmBJBEgij+D/isw/2rtQ==
X-Spam-Flag NO
X-UI-Out-Filterresults notjunk:1;V03:K0:SE+i9tXp6es=:fUbDW46cqeX7cb+pemsgDZ 3TNssHT6RthnNJiQ8dvAGKoU1k+zfAo3jMQKQDgurvysbTWTatHe8UFKkOAfdRKDkj00bfuXP iEhSklWwUINtgSG6MXdhZv6BoS2Mbf+4m1g+Cp1cUf2bBrstyDRiqn9/PruAJ4D6L87S4gwor JDUnCLsJx4u380GMihhO9k4nK+Scr8kZtbFkRSPBsweghjJQufMHVL1g0yYD3NZQQ+SJ1BPJN nCF7x+35WD5TR4j/DCiZgKy045TfGC6oymtEQaR9mp/bfEM3cghdNpL7HEesCLPOlQQm+Sfdp XdsJtwnjPEo9j0rdxdk7kCGATP/jI5O9u31tFdbJxO5leSHpjRemE2gy5sVDlQUic/mqflOrp 3S/PHeZcgIQXOmvlY92A66HH0IMwPEecVorgtMR0OppeIQXzMvDaNon62BTeNxMFNdRulQBnS wrqc+WwdhDkXeqTenrBJIhe1y7Z3UP6mC5M/PNo3DFBKGn3eNVfCSV/p5JJ0yEweSrrtwQ/ak NqGL1dCVqvWGz9S4c/kZNpWaVQG/TnudPZLU2QX4KzsgZnGyM8SQivf9gsWeHqvJMbSpRD9P4 YpTwaoMExeDT5jhWZcqKEQMcNii7hqSLdtnVxNUU+3Ea9n/4qHVwMIqdx4/IL0knQ5lbKPPdT Pyxt+Z/XfOTxZ35HR557CFkwdyr/mLlQANsk/Hgcw2LF1/kCZkLllzGEdzT5m9Zk5iZtMHDry tnc3u2qY64Of9TNjFpvHa5uB+x3mBabljNyfS4csr9yUFmpSK4p7W8kl9/fp4CimZSTL3JP1c xuwM2qFa0ox3zCmPQ1MR7lPyP05/A==
Message-ID-Hash C4BY2PVIJAATWZ6AAZSFT557TJTRZMJZ
X-Message-ID-Hash C4BY2PVIJAATWZ6AAZSFT557TJTRZMJZ
X-MailFrom sschwarzer@sschwarzer.net
X-Mailman-Rule-Misses dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-python-de.python.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version 3.3.7
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
Archived-At <https://mail.python.org/archives/list/python-de@python.org/message/C4BY2PVIJAATWZ6AAZSFT557TJTRZMJZ/>
List-Archive <https://mail.python.org/archives/list/python-de@python.org/>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Owner <mailto:python-de-owner@python.org>
List-Post <mailto:python-de@python.org>
List-Subscribe <mailto:python-de-join@python.org>
List-Unsubscribe <mailto:python-de-leave@python.org>
Xref csiph.com de.comp.lang.python:5879

Show key headers only | View raw


On 2022-11-29 21:44, Marc Haber wrote:
> On Tue, Nov 29, 2022 at 06:51:17PM +0100, Stefan Schwarzer wrote:
>> On 2022-11-28 22:07, Marc Haber wrote:
>>> Kann ich die Locks innerhalb der entsprechenden Funktion definieren
>>> oder bekomme ich dann in jedem Thread ein eigenes Lock, was der
>>> Intention entgegen spricht?
>>>
>>> Ist:
>>>
>>> foolock = threading.Lock()
>>> def foo:
>>>       with foolock:
>>>           (tue Dinge mit foo, potenziell multithreaded)
>>>
>>> dasselbe wie
>>>
>>> def foo:
>>>       foolock = threading.Lock()
>>>       with foolock:
>>>           (tue Dinge mit foo, potenziell multithreaded)
>>>
>>> ?
>>
>> Die Ansätze sind _nicht_ gleichwertig. Wie du richtig
>> erkannt/vermutet hast, definierst du im zweiten Ansatz bei
>> Ausführung von `foo` "on the fly" ein Lock-Objekt.
> 
> Dann muss ich hier mit globalen Locks arbeiten?

Genau, bzw. du musst sicherstellen, dass der Code im `with`-Block
nur einmal gleichzeitig ausgeführt wird. Ob das Lock global auf
Modul-Ebene oder in einem anderen Objekt gespeichert ist, ist
nicht relevant.

>> Ein weiterer Ansatz ist, Queues zur Synchronisation zu
>> verwenden, was tendenziell deutlich weniger fehleranfällig
>> ist.
> 
> Das könnte für die vorliegende Verwendung overkill sein.

Ich finde die Verwendung von Queues im Allgemeinen ziemlich
intuitiv, und man kann leichter darüber nachdenken und sicher(er)
sein, dass der Code funktioniert.

Aber nimm ruhig den Ansatz, mit dem du dich besser fühlst (wenn
der Schaden im Fehlerfall nur gering ist; aber das musst du
selbst einschätzen :-) ).

Viel Spaß und viele Grüße
Stefan

Back to de.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Code Style Review Marc Haber <mh+usenetspam1118@zugschl.us> - 2022-11-28 16:19 +0100
  [Python-de] Re: Code Style Review c.buhtz@posteo.jp - 2022-11-28 15:37 +0000
    [Python-de] Re: Code Style Review Christopher Arndt <chris@chrisarndt.de> - 2022-11-28 16:48 +0100
      [Python-de] Re: Code Style Review c.buhtz@posteo.jp - 2022-11-28 19:53 +0000
      Re: [Python-de] Re: Code Style Review Marc Haber <mh+usenetspam1118@zugschl.us> - 2022-11-28 22:07 +0100
        [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-11-29 18:51 +0100
          [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-11-29 21:44 +0100
            [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-11-29 23:16 +0100
    Re: [Python-de] Re: Code Style Review Marc Haber <mh+usenetspam1118@zugschl.us> - 2022-11-28 21:52 +0100
      [Python-de] Re: Code Style Review c.buhtz@posteo.jp - 2022-11-28 22:38 +0000
        Re: [Python-de] Re: Code Style Review Enrik Berkhan <Enrik.Berkhan@inka.de> - 2022-11-29 06:03 +0000
        Re: [Python-de] Re: Code Style Review Marc Haber <mh+usenetspam1118@zugschl.us> - 2022-11-29 15:22 +0100
          [Python-de] Re: Code Style Review c.buhtz@posteo.jp - 2022-11-29 14:39 +0000
      [Python-de] Re: Code Style Review Matthias Urlichs <matthias.urlichs@noris.de> - 2022-11-30 10:47 +0000
        [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-12-01 21:30 +0100
          [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-12-02 00:07 +0100
            Re: [Python-de] Re: Code Style Review "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-03 14:32 +0100
          [Python-de] Re: Code Style Review Matthias Urlichs <matthias.urlichs@noris.de> - 2022-12-02 09:29 +0000
            [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-12-02 18:02 +0100
    [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-11-29 18:33 +0100
  [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-11-29 18:18 +0100
    [Python-de] Re: Code Style Review Hans-Peter Jansen <hpj@urpla.net> - 2022-11-30 15:52 +0100
    [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-12-01 21:16 +0100
      [Python-de] Re: Code Style Review Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2022-12-01 23:58 +0100
        [Python-de] Re: Code Style Review Marc Haber <mh+python-de@zugschlus.de> - 2022-12-02 18:10 +0100
          Re: [Python-de] Re: Code Style Review "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-12-03 14:36 +0100

csiph-web