import multiprocessing, os def f(n, a): n.value = 3.1415927 for i in range(len(a)): a[i] = -a[i] print('{0}: finished'.format(os.getpid())) num = multiprocessing.Value('d', 0.0) # 'd' means double arr = multiprocessing.Array('i', range(10)) # 'i' means signed int print(num.value) print(arr[:]) p = multiprocessing.Process(target=f, args=(num, arr)) p.start() p.join() print(num.value) print(arr[:]) print('{0}: finished'.format(os.getpid()))