Enviado em 14/02/2017 - 17:12h
Definitivamente: se existe o gil (global interpreter lock), como o uso de multi-threading pode acelerar um script em Python?
def ehPrimo(num):
if num % 2 == 0:
return False
end = round(num**0.5) + 1
for tmp in range(3, end, 2):
if num % tmp == 0:
return False
return True
import threading
div = 0
class verificadorPrimo(threadig.Thread):
def __init__(self, num, ini):
self.num = num
self.ini = ini
threading.Thread.__ini__(self)
def run(self):
global div
end = round(self.num ** 0.5) + 1
for tmp in range(self.ini, end, 4):
if div != 0:
break
if self.num % tmp == 0:
div = tmp
break
def ehPrimo(num):
global div
if num % 2 == 0:
return False
th1 = verificadorPrimo(num, 3)
th2 = verificadorPrimo(num, 5)
th1.start()
th2.start()
th1.join()
th2.join()
if div == 0:
return True
div = 0
return False
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Desktop Linux ganha novos apps enquanto IA invade o noticiário
Blender 5.0 Beta, Firefox 144 e avanço da IA dominam o dia no mundo Linux
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Linux x Plataformas de Trading - um problema (in-)solúvel? (4)
Erro ao fazer remaster usando Penguin eggs (4)