import time
from multiprocessing import Process, Queue
def factorial(queue, N):
"Compute a factorial."
if (N % 4) == 0:
time.sleep(0.05 * N/4)
fact = 1
for i in range(1, N+1):
fact = fact * i
queue.put(fact)
if __name__ == '__main__':
queue = Queue()
N = 5
p = Process(target=factorial, args=(queue, N))
p.start()
p.join()
result = queue.get()
print('Factorial', N, '=', result)