The example in this article describes how Python implements a function in each stand-alone process. Share to everyone for your reference. The specific analysis is as follows:
This simple function can be used to run another function in a separate process, which is useful for freeing up memory resources
#!/usr/bin/env python from __future__ import with_statement import os, Cpickle def run_in_
Separate_process (func, *args, **kwds): pread, Pwrite = Os.pipe () pid = Os.fork () if PID > 0:os.close (pwrite)
With Os.fdopen (Pread, ' RB ') as f:status, result = Cpickle.load (f) os.waitpid (PID, 0) If status = = 0:
return result else:raise result Else:os.close (pread) Try:result = func (*args, **kwds)
Status = 0 except Exception, Exc:result = exc status = 1 with Os.fdopen (Pwrite, ' WB ') as F:
Try:cPickle.dump ((Status,result), F, cpickle.highest_protocol) except Cpickle.picklingerror, exc: Cpickle.dump (2,exc), F, Cpickle.highest_protocol) os._exit (0) #an example of Use Def treble (x): Return 3 * x def m Ain (): #calling directly print treble (4) #calling in separate process print run_in_separate_process (treble, 4)
I hope this article will help you with your Python programming.