Advertisement
Guest User

Untitled

a guest
Feb 10th, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.47 KB | None | 0 0
  1. import multiprocessing as mp
  2. import time
  3. from concurrent.futures import ProcessPoolExecutor
  4.  
  5.  
  6. def loop1(pipes):
  7.     while True:
  8.         time.sleep(1)
  9.         pipes['pipe1']['sender'].send('ti hui')
  10.  
  11.         print('message from loop2: {}\nmessage from loop3: {}'.format(
  12.             pipes['pipe1']['receiver'].recv(),
  13.             pipes['pipe2']['receiver'].recv()
  14.         ))
  15.         # отправляем сообщение в цикл № 3
  16.         pipes['pipe2']['sender'].send('a ti voobshe poshel nahui')
  17.  
  18.  
  19. def loop2(pipes):
  20.     while True:
  21.         time.sleep(1)
  22.         pipes['pipe1']['receiver'].send('nyet ti')
  23.         print(
  24.             'message from loop1: {}'.format(pipes['pipe1']['sender'].recv())
  25.         )
  26.  
  27.  
  28. def loop3(pipes):
  29.     while True:
  30.         time.sleep(1)
  31.         pipes['pipe2']['sender'].send('vi oba hui, uspokoites\'')
  32.  
  33.         # Получаем сообщение из loop1
  34.         print(
  35.             'message from loop1 for loop3: {}'.format(pipes['pipe2']['sender'].recv())
  36.         )
  37.  
  38.  
  39. with ProcessPoolExecutor(max_workers=3) as loops_executor:
  40.     loop1_sender, loop1_receiver = mp.Pipe(True)
  41.     loop2_sender, loop2_receiver = mp.Pipe(True)
  42.  
  43.     pipes = {
  44.         'pipe1': {'sender': loop1_sender, 'receiver': loop1_receiver},
  45.         'pipe2': {'sender': loop2_sender, 'receiver': loop2_receiver},
  46.     }
  47.  
  48.     loops_executor.submit(loop1, pipes)
  49.     loops_executor.submit(loop2, pipes)
  50.     loops_executor.submit(loop3, pipes)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement