Threading не работает - главное окно зависает - PullRequest
0 голосов
/ 04 апреля 2019

У меня похожая проблема, как описано здесь: Потоки не работают

Я пробовал решение с передачей arg = (None,), но это дает мне обратную трассировку:

Это позволяет мне выполнять загрузку, но главное окно зависает:

    def _Downloader(self):

        self.processaa = threading.Thread(target = (dbimp.FDown._FUpdate(self)))
        self.processaa.start()

Как описано в ссылке, я должен передать аргументы отдельно:

    def _Downloader(self):

        self.processaa = threading.Thread(target = (dbimp.FDown._FUpdate), args=(None,))
        self.processaa.start()

Но я получаю следующий трекбек:

H:\pyt\tool>crap.py
Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Users\...\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "C:\Users\...\Python37-32\lib\threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "H:\pyt\tool\dbimp.py", line 327, in _FUpdate
    self.file_names_update = ("MASTER", "RESERVED", "DEREG", "ACFTREF")
AttributeError: 'NoneType' object has no attribute 'file_names_update'

Функция работает нормально без потоков.

1 Ответ

0 голосов
/ 08 апреля 2019

За комментарий фура, это должно выглядеть так:

 def _Downloader(self):

        self.processaa = threading.Thread(target = (dbimp.FDown._FUpdate), args=(self,))
        self.processaa.start()

и многопоточность отлично работает.

...