Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import multiprocessing as mp
- import time
- from concurrent.futures import ProcessPoolExecutor
- def loop1(pipes):
- while True:
- time.sleep(1)
- pipes['pipe1']['sender'].send('ti hui')
- print('message from loop2: {}\nmessage from loop3: {}'.format(
- pipes['pipe1']['receiver'].recv(),
- pipes['pipe2']['receiver'].recv()
- ))
- # отправляем сообщение в цикл № 3
- pipes['pipe2']['sender'].send('a ti voobshe poshel nahui')
- def loop2(pipes):
- while True:
- time.sleep(1)
- pipes['pipe1']['receiver'].send('nyet ti')
- print(
- 'message from loop1: {}'.format(pipes['pipe1']['sender'].recv())
- )
- def loop3(pipes):
- while True:
- time.sleep(1)
- pipes['pipe2']['sender'].send('vi oba hui, uspokoites\'')
- # Получаем сообщение из loop1
- print(
- 'message from loop1 for loop3: {}'.format(pipes['pipe2']['sender'].recv())
- )
- with ProcessPoolExecutor(max_workers=3) as loops_executor:
- loop1_sender, loop1_receiver = mp.Pipe(True)
- loop2_sender, loop2_receiver = mp.Pipe(True)
- pipes = {
- 'pipe1': {'sender': loop1_sender, 'receiver': loop1_receiver},
- 'pipe2': {'sender': loop2_sender, 'receiver': loop2_receiver},
- }
- loops_executor.submit(loop1, pipes)
- loops_executor.submit(loop2, pipes)
- loops_executor.submit(loop3, pipes)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement