I gather that using multiprocessing causes new instances of the program to be initialized. e.g. the following code would cause 7 instances to be initialized:
pool = mp.Pool(processes=7)
pool.apply_async(process, args=(properties,)) for properties in properties_list]
My question though is what is actually getting loaded in the new instance? For example, if i have file_a.py, which calls a function from file_b.py, and the function in file_b.py uses multiprocessing, is it just file_b.py that gets re-loaded, or file_a.py and file_b.py?