꽤 큰 다중 스레드 python2 웹 응용 프로그램이 있습니다. 메인 스레드에서 비즈니스 로직을 작동, 하위 스레드 대부분 데이터베이스 작업을 실행합니다. TreadPoolExecutor는 현재 사용되지 않으며 가까운 장래에 구현 될 수 없습니다. 특정 양의 데이터를 빠르게 처리하고 결과를 DataBase에 저장해야하는 다른 스레드를 추가하려고합니다 (io 연산). 이 작업은 자주 실행되지 않습니다.Python : 작업 처리를 위해 스레드 사용
그래서 질문은 : 대부분 잠자는 스레드를 실행하고 데이터를 처리하기 위해 이벤트를 기다려야합니까 아니면 충분한 데이터가있을 때 메인에서 새 스레드를 생성하고 처리가 완료 될 때 닫는 것이 더 좋을까요? GIL이 그들 사이를 전환하기 위해 실행중인 스레드의 양은 이미 상당히 많습니다.
감사합니다.
확실한 스레드가 여기 있습니까? –
글쎄, 사실 나는 하위 프로세스가 훨씬 더 잘할 것이라고 확신합니다 :) 스레드에서 DB 작업의 원인이 있지만 성능 이익이 있습니다. 이제는 스레드가 제거되지 않아 응용 프로그램이 매우 크고 오래되고 대부분 디자인이 좋지 않습니다. 또한 나는 궁금해하고있다. ;) – sunrize531