Skip to content

Instantly share code, notes, and snippets.

@arsenlosenko
Created October 17, 2017 09:38
Show Gist options
  • Save arsenlosenko/f84d7790a277767c0f160f3b755b8d2f to your computer and use it in GitHub Desktop.
Save arsenlosenko/f84d7790a277767c0f160f3b755b8d2f to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
import sys
import random
import threading
from time import perf_counter
def gen_lists(n):
v1 = [i + random.randint(1, 9) for i in range(n)]
print("First list generated")
v2 = [i + random.randint(1, 9) for i in range(n)]
print("Second list generated")
return v1, v2
def sum_list(arr):
start = perf_counter()
list_sum = sum(arr)
print("Sum of array's numbers is {}, it took {} seconds to count".format(list_sum, round(perf_counter() - start, 6)))
def main():
n = int(input("Enter length of array:\n"))
lists = gen_lists(n)
print("Counting in separate threads")
t1 = threading.Thread(target=sum_list, args=(lists[0],))
t2 = threading.Thread(target=sum_list, args=(lists[1],))
t1.start()
t2.start()
t1.join()
t2.join()
print("Counting in main thread")
sum_list(lists[0])
sum_list(lists[1])
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment