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


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

[Python-de] Re: Code Style Review

From Stefan Schwarzer <sschwarzer@sschwarzer.net>
Newsgroups de.comp.lang.python
Subject [Python-de] Re: Code Style Review
Date 2022-11-29 23:16 +0100
Message-ID <a01a3891-072e-175b-faeb-166b1ee6fce2@sschwarzer.net> (permalink)
References (1 earlier) <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>

Show all headers | 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