如何在PyQt5中使用多处理并防止打开多个GUI

我有以下代码,当我只需双击运行文件时,它就可以正常工作。但是,当我使用Pyinstaller将其转换为exe时,在单击GUI中的按钮时,它将为每个进程打开多个GUI窗口。

from PyQt5 import uic, QtWidgets
from CurrentChains import processchain
import os
import sys
import threading


def alltask():
    x = threading.Thread(target=processchain)
    x.start()

if __name__ == '__main__':

    y = os.getcwd()

    app=QtWidgets.QApplication(sys.argv)
    window = uic.loadUi(os.path.normpath(y)+ "\\" + "estate.ui")
    window.pushButton.clicked.connect(alltask)

    window.show()



sys.exit(app.exec_())

The processchain function looks like this:

def processchain():
    p=Pool(processes=15)
    data=p.map(fetchdata,range(1,1000))

如何防止多个GUI与可执行文件一起显示?不确定是pyinstaller问题还是我的代码。我使用线程来防止接口冻结。