以下是多线程类:
class WorkThread(QThread):
trigger = pyqtSignal(list)
def __init__(self,thNum,zh,tz,cf):
super(WorkThread, self).__init__()
self.thNum = thNum
self.zh = zh
self.tz = tz
def run(self):
# 程序配置初始化
print('程序配置初始化')
# 创建一个队列
self.q = []
for i in range(len(self.zh)):
data = self.zh[i]
self.q.append([i, data, self.tz])
self.multiThread(self.q)
async def main():
browser = await launch()
page = await browser.newPage()
await page.goto('http://quotes.toscrape.com/js/')
doc = pq(await page.content()) print('Quotes:', doc('.quote').length)
await browser.close()
def aJob(self,arg):
# 从这调用,就报错
asyncio.get_event_loop().run_until_complete(self.main())
def multiThread(self,_lstParam):
"""
多线程任务执行
"""
from multiprocessing.dummy import Pool as ThreadPool
pool = ThreadPool(self.thNum)
pool.map(self.aJob, _lstParam)
pool.close()
pool.join()
print("多线程作业已完成")
def stop(self):
self.flag = 0
# 线程结束发出信号
self.trigger.emit('主程序终止^1^')
请大神帮忙看看,类似pyppeteer这种异步协程如果配置多线程或线程池使用,成分感谢!!!
© 著作权归作者所有
举报
发表评论
0/200