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
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Sistema da Coréia do Norte - Red Star OS (14)
Problemas com o Lutris e o Wine no Slackware 15.0 (1)
redirecionando saida de comando touch para o AWK[RESOLVIDO] (18)