python 多进程使用
迷茫
迷茫 2017-04-18 10:33:22
0
4
529

假设:有个数据操作,处理100万条数据,每个数据的value+1。
如简单代码假设

for x in range(1,100):
    x++

从数据库获取100条了,然后想多进程去执行x++?
还是说多进程去数据库获取数据?
谢谢了

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(4)
PHPzhong

질문이 있습니다. 데이터베이스에 있는 데이터라면 sql을 실행하는 것이 멀티 프로세스보다 훨씬 효율적이지 않나요?
주어진 두 가지 옵션 중 하나를 선택해야 한다면, 그렇다면 다음을 고려해보세요:

으아아아
刘奇

먼저 생산자로서 원본 데이터를 큐(queue)에 저장합니다
그런 다음 소비자로서 큐에서 데이터를 가져오고 작업을 수행합니다
이때 여러 스레드를 열 수 있습니다. 소비자 (물론 당신은 잠금을 잘 처리하면 생산자도 멀티스레딩을 할 수 있습니다)

으아악

큐에 항상 요소가 있으면 스레드는 계속 작동합니다.

PHPzhong

실제로 Python에서 다중 처리를 구현하는 가장 좋은 방법은 multiprocessing에서 map

을 사용하는 것입니다.

예(Python 3):

으아악 으아악
洪涛

위에서 언급한 프로세스 풀처럼 데이터 읽기와 데이터 +1이라는 두 가지 기능을 하나의 작업으로 직접 작성한 다음 여러 프로세스를 사용하여 작업할 수 있습니다. CPU 코어 수에 따라 프로세스 풀의 크기를 설정하십시오. 여러 프로세스 간에 메모리 공유나 직접 통신이 없으므로 먼저 여러 프로세스를 사용하여 데이터베이스의 모든 데이터를 읽은 다음 여러 프로세스를 사용하여 val+1을 수행할 수 있습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!