Advertisement
barbos01

multi

Jun 1st, 2021
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.75 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import sys
  3. import math
  4. import threading
  5. import time
  6.  
  7. def isPrime(number) :
  8.     if number > 1:
  9.         for i in range(2, number):
  10.             if (number % i) == 0:
  11.                 return False
  12.         else:
  13.             return True
  14.     else:
  15.         return False
  16.  
  17. def prob1(lista):
  18.     primeNum = []
  19.     for element in lista:
  20.         time.sleep(1)
  21.         if(isPrime(element)):
  22.             primeNum.append(element)
  23.     n = len(primeNum)
  24.     if(n % 2 == 0):
  25.         print((primeNum[n // 2] + primeNum[n // 2 + 1]) / 2, max(primeNum), primeNum)
  26.     else:
  27.         print(primeNum[n // 2], max(primeNum), primeNum)
  28.    
  29.  
  30. def prob2(lista):
  31.     divizori = [1]
  32.     for element in lista:
  33.         div = 2
  34.         time.sleep(1.5)
  35.         while div <= element:
  36.             if element % div == 0:
  37.                 if div not in divizori:
  38.                     divizori.append(div)
  39.             div += 1
  40.     n = len(divizori)
  41.     if(n % 2 == 0):
  42.        print((divizori[n // 2] + divizori[n // 2 + 1]) / 2, max(divizori), divizori)
  43.     else:
  44.         print(divizori[n // 2], max(divizori), divizori)      
  45.  
  46.  
  47. if __name__ == "__main__":
  48.     lista = []
  49.     for i in range(1, len(sys.argv)):
  50.         lista.append(int(sys.argv[i]))
  51.     t3 = threading.Thread()
  52.     t1 = threading.Thread(target=prob1, args= (lista, ))
  53.     t2 = threading.Thread(target=prob2, args= (lista, ))
  54.     t1.start()
  55.     t2.start()
  56.     print("Is thread1 alive:", t1.is_alive())
  57.     print("Is thread2 alive:", t2.is_alive())
  58.     t1.join()
  59.     print("Is thread1 alive:", t1.is_alive())
  60.     print("Is thread2 alive:", t2.is_alive())
  61.     t2.join()
  62.     print("Is thread1 alive:", t1.is_alive())
  63.     print("Is thread2 alive:", t2.is_alive())
  64.     print("All done!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement