Запуск нежелательных копий основной программы при попытке назначить задание нескольким процессорам, если вы используете Microsoft Windows

#python #concurrent.futures

Вопрос:

Работает в Linux, но в Windows это запускает некоторые копии «Программы» и показывает их и останавливается, пока я не закрою копии, почему это так и как это решить?

 from PyQt5 import QtWidgets
import concurrent.futures
import sys

def just_do_something(count):
    print(count)

class Program(QtWidgets.QMainWindow):
    def __init__(self):
        super(Program, self).__init__()
        self.btn = QtWidgets.QPushButton(self, text='PUSH ME')
        self.btn.clicked.connect(self.threadpool_thingey)
        self.show()

    def threadpool_thingey(self):
        with concurrent.futures.ProcessPoolExecutor() as executor:
            executor.map(just_do_something, (1,2,3,4,5,6,))

app = QtWidgets.QApplication(sys.argv)
window = Program()
app.exec_()
 

РЕШЕНА с помощью приведенного ниже изменения кода, поскольку Windows использует «режим возрождения» вместо «режима разветвления».

 if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = PDF2CBZmain()
    app.exec_()