저는 UI의 다양한 컨트롤을 채우는 데 사용되는 API의 일부 데이터를 요청하는 PyQt5를 사용하여 간단한 GUI 응용 프로그램을 만들고 있습니다.모든 작업 또는 여러 특정 작업자를위한 단일 작업 스레드?
PyQt의 작업자 스레드에 관한 예제는 모두 하위 클래스 QThread
인 것처럼 보였고 재정의 된 run()
메서드로 비즈니스 로직을 수행합니다. 이 잘 작동하지만 작업자를 사용하여 다른 시간에 다른 API 호출을 실행하려면.
내 질문은 : 내가하고 싶은 모든 작업에 대해 특정 작업자 스레드를 만들어야하는지, 아니면 다른 시간에 다른 작업을 수행하는 데 사용할 수있는 단일 스레드 클래스를 갖는 방법이 있습니까? 다른 스레드 하위 클래스를 만드는 오버 헤드를 피할 수 있습니까?
'QThread'를 하위 클래스로 분류하면 안됩니다. 대신에,'QtConcurrent :: run'을 사용하거나,'QObject'를 서브 클래스 화하고 이들 작업자 객체를 단일 작업자 스레드로 옮깁니다. –