[Python-Dev] bpo-34837: Multiprocessing.Pool API Extension (original) (raw)
[Python-Dev] bpo-34837: Multiprocessing.Pool API Extension - Pass Data to Workers w/o Globals
Antoine Pitrou solipsis at pitrou.net
Sat Sep 29 08:17:59 EDT 2018
- Previous message (by thread): [Python-Dev] bpo-34837: Multiprocessing.Pool API Extension - Pass Data to Workers w/o Globals
- Next message (by thread): [Python-Dev] bpo-34837: Multiprocessing.Pool API Extension - Pass Data to Workers w/o Globals
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, 29 Sep 2018 08:13:19 -0400 Sean Harrington <seanharr11 at gmail.com> wrote:
> > Hmm... We might have a disagreement on the target audience of the > multiprocessing module. multiprocessing isn't very high-level, I would > expect it to be used by experienced programmers who know how to mutate > a global variable from a lexical scope. >
>>> It is one thing to MUTATE a global from a lexical scope. No gripes there. The specific concept I'm referencing here, is "DECLARING a global variable, from within a lexical scope". This is not as a intuitive for most programmers.
Well, you don't have to. You can bind it to None in the top-level scope and then mutate it from the lexical scope:
my_resource = None
def do_work(): global my_resource my_resource = ...
Regards
Antoine.
- Previous message (by thread): [Python-Dev] bpo-34837: Multiprocessing.Pool API Extension - Pass Data to Workers w/o Globals
- Next message (by thread): [Python-Dev] bpo-34837: Multiprocessing.Pool API Extension - Pass Data to Workers w/o Globals
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]