Writing At First
Python has a GIL so it can only use one core per process. So using multiprocessing can use more cores.
About Python multiprocessing API
What I use is :
multiprocessing.Process(target = targetfunc, args = args)
It's to create a new object that contains a process .target
is to input a function that function need to be run on the process.args
is to input the parameters
This class has a start()
function that can make this process start to run.
Also it has a name
parameter to get its name. And pid
parameter to get its pid.
multiprocessing.cpu_count()
can get how many CPUs in your computer.
multiprocessing.active_children()
can get all the active process. It's a list[Process]. You can get an iterator to get process from it.
Writing In The End
This is a good way to use more than one cores in Python. It will be faster than use multi-thread. There still other reasons. But this way can make it faster is true if it don't need transport some data.