我正在編寫一個腳本,其中執(zhí)行簡單任務的線程每 3 分鐘啟動一次。我正在使用線程和調度模塊。由于多線程的性質,線程都使用相同的資源。我需要實現(xiàn)什么?創(chuàng)建新線程時,我想檢查是否有任何正在運行的線程;如果有,則等到正在運行的線程終止,然后啟動新線程。我試過什么? import threadingdef run_threaded(job_fn): job_thread = threading.Thread(target=job_fn) bot.logger.info(" --------------No of active threads : "+threading.activeCount()) job_thread.start() job_thread.join() bot.logger.info(" --------------No of active threads : " + threading.activeCount())schedule.every(3).minutes.do(run_threaded, job)while True: schedule.run_pending()注意:在上面的示例中,每個 job_thread 需要 5 分鐘才能完成。因此,它每 6 分鐘創(chuàng)建 1 個線程。據(jù)我了解,job_thread.join()行正在加入主線程(與任何其他活動線程)。盡管調度被阻塞,因此在前一個線程完成之前不能實例化任何其他線程。那是對的嗎 ?如果是,這是這樣做的好習慣嗎?并且作為記錄......腳本可以在運行線程時執(zhí)行其他代碼塊嗎?或者它可以在前一個線程完成之前實例化其他線程,如果他們要執(zhí)行其他作業(yè),比如說job2?
添加回答
舉報
0/150
提交
取消