我想在Python中同時運行兩個函數。這兩個函數都包含while
循環。我曾嘗試使用線程和多處理而沒有喜悅。只有一個功能運行。我已經閱讀並嘗試了Stack和Net上的幾個例子。任何幫助,將不勝感激。提前致謝。我是Python的新手。使用多線程運行兩個包含While循環同時循環的函數
if __name__ == "__main__":
ap = argparse.ArgumentParser()
ap.add_argument("-c", "--conf", required=True,
help="path to the JSON configuration file")
args = vars(ap.parse_args())
# p1 = Process(target=main(args))
# p2 = Process(target=cameraHandler(args))
# p1.start()
# p2.start()
threadA = Thread(target = main(args))
threadB = Thread(target = cameraHandler(args))
threadA.run()
threadB.run()
threadA.join()
threadB.join()
要真正運行「同時」功能,您需要使用'multiprocessing'。另外,我希望你認識到''''不是Python中的評論...你想''' –
@ juanpa.arrivillaga這是一個很好的答案,做得很好!而且,正如你所知道的,它可以通過使用多線程來實現。另外,我知道##是Python中的一條評論。很好的回答啊,你顯然知道很多!你爲什麼不給解決問題而不是負面評論? – Wazzi
我只是要求澄清,因爲你說你想在同一時間運行兩個函數*,而在CPython中,這是不可能的,因爲GIL確保只有一個線程在解釋器中運行時使用'multithreading'一旦。如果您真的想要利用多核架構,並行運行,則必須使用'multiprocessing'。這個API非常相似,所以如果你真的擔心這個問題,你應該能夠輕鬆地轉換你的代碼。我沒有讓你失望。 –