from multiprocessing import Process import threading def main(): while True: print("loop") tlist = [] for x in range(2): t = threading.Thread(target=subProc, args = (returnTrue, x), name=x) t.start() tlist.append(t) for t in tlist: t.join() print() def subProc(targetfunc, args): newJob = Process(target=targetfunc) newJob.daemon=False newJob.start() print("Started subproc: PID: %d : args: %s" %(newJob.pid, str(args))) newJob.join() print("Joined subproc: PID: %d : args: %s" %(newJob.pid, str(args))) def returnTrue(): return True if __name__ == "__main__": main()