установки: init.pyPython Threading разве работает
import threading
...other imports ...
... vars ...
for drive in drives:
series = folder.getFolders(drive)
for serie in series:
print(str(datetime.datetime.now()))
t = threading.Thread(target=serienchecker, args=(drive, serie, blacklist,apikeyv3,language,))
t.start()
t.join()
serienchecker.py
from threading import Thread
from themoviedb import *
from folderhelper import *
class serienchecker(Thread):
...
def __init__(self, path,seriesname, blacklist, apikeytmdb='', language='eng'):
...
self.startSearch()
...
def startSearch(self):
print("start")
...
Выход:
2017-02-08 21:29:04.481536
start
2017-02-08 21:29:17.385611
start
2017-02-08 21:30:00.548471
start
Но я хочу, чтобы они все должны быть рассчитаны на вокруг в то же время. Может быть, даже способ для очереди выполнять все задачи и процесс N потоков потоков одновременно? [Это всего лишь небольшой пример, который скрипт проверит несколько папок hundert] Хочешь ли я поступать неправильно?
Я работал на нескольких подходах ничего не работало, пожалуйста, помогите мне
Спасибо!
Edit: //
def job():
while(jobs):
tmp = jobs.pop()
task(drive=tmp[0],serie=tmp[1])
def task(drive, serie):
print("Serie[{0}]".format(serie))
sc = serienchecker(drive, serie,blacklist,apikeyv3,language)
sc.start()
result = sc.result
resultString=''
for obj in result:
resultString+=obj+"\n"
print(resultString)
for drive in drives:
series = folder.getFolders(drive)
for serie in series:
jobs.append([drive,serie])
while(jobs):
job()
Почему вы «присоединяетесь к каждой теме сразу после того, как вы« начинаете »ее? Это ждет завершения потока, прежде чем запускать другой поток. Кроме того, создание «цели» потока является подклассом «Thread», не имеет смысла. – user2357112