Skip to content

Instantly share code, notes, and snippets.

@bugcy013
Created September 17, 2020 16:42
Show Gist options
  • Save bugcy013/9e8cfc375e309dadc57ba634917cb62e to your computer and use it in GitHub Desktop.
Save bugcy013/9e8cfc375e309dadc57ba634917cb62e to your computer and use it in GitHub Desktop.
from time import time, sleep
from random import randrange
from multiprocessing import Pool, cpu_count
numbers = range(1, 100)
sleep_sec = randrange(1, 2)
return_r = []
def basic_func(x):
sleep(sleep_sec)
if x == 0:
return 'zero'
elif x % 2 == 0:
return 'even'
else:
return 'odd'
def result(x):
return_r.append(x)
if __name__ == '__main__':
p = Pool(processes=2)
start = int(round(time() * 1000))
for num in numbers:
p.apply_async(basic_func, [num], callback=result)
p.close()
p.join()
print("Complete")
end = int(round(time() * 1000)) - start
print('total time (ms) = %s' % end)
print(return_r)
print(len(return_r))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment