Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from multiprocessing import Process, Queue
- from time import sleep
- def pKernel(KernelQ):
- print("Процесс pKernel запущен!!!")
- while True:
- InMsg = KernelQ.get()
- if InMsg == 'stop':
- break
- print("Процесс pKernel получил: %s" % (InMsg))
- def pPing(KernelQ):
- x = 0
- while True:
- x += 1
- sleep(1)
- print("Размер очереди: %s" % (KernelQ.qsize()))
- KernelQ.put("Послание {} в KernelQ".format(x))
- # если в очереди 10 элементов завершает процесс
- if KernelQ.qsize() == 10:
- print("Процесс pPing завершен!!!")
- break
- if __name__=="__main__":
- # Очередь
- QKernel = Queue()
- # Процессы
- _Kernel = Process(target=pKernel, args=(QKernel, ))
- _Ping = Process(target=pPing, args=(QKernel, ))
- # Запуск процессов
- _Kernel.start()
- _Ping.start()
- # Ожидание
- sleep(10)
- # Отправка сообщения об остановке
- QKernel.put('stop')
- # Ожидание остановки и завершение процесса
- _Kernel.join()
- _Kernel.close()
- print("Процесс pKernel завершен!!!")
- # Ожидание
- sleep(5)
- # Новый запуск процесса
- _Kernel = Process(target=pKernel, args=(QKernel, ))
- _Kernel.start()
- # Ожидание
- sleep(10)
- # Отправка сообщения об остановке
- QKernel.put('stop')
- # Ожидание остановки и завершение процесса
- _Kernel.join()
- _Kernel.close()
- print("Процесс pKernel завершен!!!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement