Ao tentar usar pool.map() para direcionar uma função com vários parâmetros, incluindo um objeto Lock(), é crucial para resolver a questão do compartilhamento do bloqueio entre subprocessos. O multiprocessing.Lock() convencional não pode ser passado diretamente para métodos Pool devido a limitações de decapagem.
Uma abordagem é utilizar Manager() e instancie um Manager.Lock(). Embora esse método seja confiável, ele envolve mais sobrecarga devido ao processo adicional que hospeda o servidor Manager. Além disso, as operações de bloqueio requerem comunicação com este servidor via IPC. o argumento da palavra-chave do inicializador. Isto garante que a instância de bloqueio seja global em todos os trabalhadores filhos. Este método elimina a necessidade de funções parciais e agiliza o processo.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3