数独求解器中的Python线程

时间:2012-06-11 21:26:10

标签: python multithreading sudoku

我在python中编写了一个数独求解器,它使用递归函数来运行数独板的所有可能的排列。该程序线性地解决了数独难题,我试图通过将任务划分为不同的线程来加快速度。但是,经过对线程的深思熟虑和研究,我仍然不知道如何将线程实现到我的函数中。这是我的功能btw

def solve(num,possible,temp):
    y = num%9
    x = num-y
    try:
        for xyz in possible[num]:
            if num != 80:
                if ispossibility(temp,xyz,x,y) == True:
                    temp[num] = xyz
                    solution = solve(num+1,possible,temp)
                    if solution != None:
                        raise exception
                temp[num] = 0
            else:
                if ispossibility(temp,xyz,x,y) == True:
                    temp[num] = xyz
                    solution = copy(temp)
                    raise exception
    except exception:
        return solution 

所以我想要一个单独的线程来运行“solution = solve(num + 1,possible,temp)”这一行 但问题是,一旦一个线程找到答案,我就无法弄清楚如何停止所有单独的线程。关于该做什么的任何指示?

0 个答案:

没有答案