중화사전망 - 자전 검색 - 파이썬 멀티 스레딩을 어떻게 처리합니까?

파이썬 멀티 스레딩을 어떻게 처리합니까?

파이썬의 스레드에 문제가 있어 주 프로세스가 충돌할 수 있습니다. 파이썬의 스레드는 운영 체제의 실제 스레드이지만.

그럼 어떻게 해결할까요? 우리의 과정 방법을 통해. 하위 프로세스가 충돌하면 모든 메모리와 오류 상태를 완전히 해제합니다. 그래서 과정이 더 안전하다. 또한 이 프로세스를 통해 파이썬은 GIL 이라는 전역 잠금 문제를 우회할 수 있습니다.

그러나 이 과정도 제한적이다. 총 CPU 코어 수를 초과하는 프로세스를 구축하지 마십시오. 그렇지 않으면 효율성이 떨어집니다.

간단히 요약해 보겠습니다.

멀티 태스킹을 할 때는 먼저 멀티 프로세싱 사용을 생각해야 하지만, 프로세스가 너무 번거롭다고 생각되면 스레드 사용을 고려해야 합니다. 멀티태스킹 처리가 너무 많은 경우 다중 스레드를 사용하는 다중 프로세스를 고려할 수 있습니다. 그래도 처리하지 않으려면 폴링 이벤트, twisted 등과 같은 폴링 방식을 사용합니다. GUI 모드의 경우 이벤트 메커니즘이나 메시지 메커니즘을 통해 처리하기 위해 GUI 는 단일 스레드를 사용합니다.

그래서 python 에서는 스레드가 맹목적으로 사용되거나 남용되어서는 안 된다. 그러나 스레드가 안전하지 않다는 것은 사실이다. 만약 네가 몇 가지 백그라운드 임무만 한다면, 너는 하나의 수호 스레드로 하는 것을 고려해 볼 수 있다. 만약 당신이 위험한 일을 해야 한다면, 그것은 붕괴될 수 있으므로, 하위 프로세스를 사용하여 할 수 있습니다. 높은 안정성과 낮은 동시 서비스가 필요한 경우 다중 프로세스 다중 처리 모듈을 사용하는 것이 좋습니다.

Linux 또는 UNIX 에서 이 프로세스는 windows 만큼 비싸지 않습니다. 그래도 받아들일 수 있어요.