Regarding multiprocessing.Pool, that would not work as I said. I was thinking more about a plain fork, like this:
def parent():
juicy_variable = ...
def workerfunc(x):
# I can access juicy_variable
...
childs = []
for i in [1, 2, 3]:
child = fork()
if child == 0:
workerfunc(i)
sys.exit()
childs.append(child)
# Wait for and cleanup childs.
# Communicate somehow with childs to get back results.
...
> That's wrong. That was never the case.
You are right, I was mistaken.
The point stands though, PyObjects are not really an issue for use cases where these tricks are needed.
> I was thinking more about a plain fork, like this
Right well you can recreate a multiprocessing pool of your own with different pros and cons, sure, that's an other approach I guess.