Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from multiprocessing import Process
- import os
- from datetime import datetime
- ''' Exemplo de uso de multiprocessamento, ou processamento paralelo em Python3+
- Aldenir Luiz 07/06/22 Canal YouTube Python_Old_School'''
- # Funcao*, Identifica os processos, |Use para idetificar as chamadas de funcoes|
- def info(titulo):
- timer = datetime.strftime(datetime.now(), "%H:%M:%S")
- print(f'\n{titulo}')
- print(f'Hora da Chamada: {timer}')
- print(f'Nome do Modulo: {__name__}')
- print(f'Filho de: {os.getppid()}')
- print(f'Identificacao |PID|: {os.getpid()}')
- # Exemplo_Funcao*, Gera uma combinacao de caracteres |usada para ilustar o exemplo|
- def gerador(tamanho):
- info('Funcao Gerador de Combinacoes')
- chars = ''
- for c_index in range(26):
- chars += chr(c_index+97)
- for index in range(tamanho):
- sequencias = [x for x in chars]
- for subindex in range(index):
- sequencias = [x + i for i in chars for x in sequencias]
- return sequencias
- # Exemplo_Funcao*, Exibe as sequencias de caracteres geradas pela funcao gerador() |usada para ilustar o exemplo|
- def sequenciador(i_index, f_index, passo, sequencias):
- info('Funcao Sequenciador')
- print(f'\n>>{sequencias[i_index:f_index:passo]}\n')
- # Estrutura de trava de pacote, exigido pelo freeze_suport()
- if __name__ == '__main__':
- info('Processo Pai, Modulo __MAIN__')
- p1 = Process(target=sequenciador, args=(0, -1, 2, gerador(2))) # gera combincaoes de 2dig, exibe a cada 2dig comecando de ab
- p2 = Process(target=sequenciador, args=(1, -1, 2, gerador(2))) # gera combincaoes de 2dig, exibe a cada 2dig comecando de cd
- # note que as combinacoes exibidas serao sempre diferentes nessa combinacao de indexadores mesmo sendo gerados na mesma sequencia
- p1.start()
- p1.join()
- p2.start()
- p2.join()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement