让python使用所有cpu核心

时间:2018-01-22 02:43:08

标签: python multithreading numbers cpu

您好我一直在尝试使用所有cpu内核运行此脚本,但它只使用一个内核而我无法找到原因。是否有一些初始化告诉它只使用一个核心或python不使用所有核心?我想过将它保存到一个文本文件并拥有该程序的多个实例。然后它将重新打开文本文件并检查下一个数字。但似乎多线程这将是最快的。

test = 1
one = 2281
i = 1
init = 1
f_open = open('PRIMEEXPONENT.txt', 'r')
data = f_open.read()
f_open.close()

print (data)
string3 = "%s" % (data)

def check(p):
    s = 4
    m = 2 ** p - 1
    for _ in range(p - 2):
        s = ((s * s) - 2) % m
    return s == 0

def is_prime(number):

    if number % 2 == 0:
        return number == 2

    i = 3
    while i * i <= number:
        if number % i == 0:
            return False
        i += 2

    return True

print(3) 

var2 = 1
while var2 == 1 :
    i = i + 2
    if init == 1:
        print ("RELOADING PREVIOUS SAVED PRIME NUMBER")
        i = int(data)
        print ("DONE")
        init = 0
    if is_prime(i) and check(i):
        print ("START NUMBER")
        print(2 ** i - 1)
        string = "%s" % (2 ** i - 1)
        string2 = "%s" % (i)
        string5 = "%s" % ("START    ")
        string6 = "%s" % ("END    ")
        string7 = "%s" % ("    ")
        print ("END NUMBER")

        f = open("PRIME.txt", 'a')
        f.write(string5)
        f.write(string)
        f.write(string6)
        f.close()

        f = open("PRIMEEXPONENT.txt", 'w')
        f.write(string2)
        f.close()

        f = open("PRIMEEXPONENT2.txt", 'a')
        f.write(string5)
        f.write(string2)
        f.write(string7)
        f.write(string6)
        f.close()

0 个答案:

没有答案