Multi-процесс и присоединиться к использованию

# # **************************** 
# # Создание многозадачность режим
# Импорт OS
# Импорт из многопроцессорных процесса
#
# Задача DEF ():
# Print ( 'процесс этот Sub IS')
# Печать (идентификатор процесса f'sub os.getpid {()} «)
# Печать (f'my ID os.getpid {()} {os.getppid IS PPID ()} ')
#
#
# Print (os.getpid (), __ name__)
#
# Если __name__ ==' __ main__ «:
# # Примечание открыт кОДЕКСА __main__ процесс должен быть размещен ниже
## экземпляров объекта процесса, пусть начать процесс
# = р-процесса (цель = Task)
# p.start ()
# печати (далее это родительский процесс ')
# Печать ( Процесс IS f'parent: os.getpid {()} ')
# Print (' над «)
#
# """
# 4280 __main__
# Это родительский процесс
# родительский процесс: 4280
# над
# 5576 __mp_main__
# это подкаталог процесс
# суб идентификатор процесса 5576
# мой идентификатор 5576 PPID является 4280
# ""»
# # *********** *************************************
# от многопроцессорных импорта Процесс
# импорт ОС
#
# класса Downloarder ( Процесс):
# # Защита __init __ (самостоятельно, URL, размер, имя):
# # супер () .__ Init ()
# # self.url = URL
# # self.size = размер
# # self.name = имя
#
#
# защиту работать (сам):
# печать (os.getpid ())
# пасс
#
#
# если __name__ == '__main__':
# Т = Downloarder ()
# m.start ()
# m.run ()
# печать ( 'родитель над', os.getpid ())
#
# "" "
# 1 648
# родитель над 1 648
# 5684
#
# """
# ************************************************
# от многопроцессорных импорта Процесс
# импорта зева, время
#
# а = 257
#
# четкости задачи ():
# глобальной
# печати ( "2", а, идентификатор (а))
# а = 200
#
# если __name__ == «__main__ «:
# р = Процесс (целевая задача =)
#
# p.start ()
#
# time.sleep (5)
# печать (а)
#
# ""»
# 2 257 2903098186800
# 257
# ""»
# *************************************** *********
# от многопроцессорных импорта Процесс
# импорта зева, время
#
# а = 257
#
# защиту задача ():
# в то время как True:
# печать ( "子")
#
# если __name__ == «__main__ ':
#
#
# р = Процесс (целевая задача =)
# p.start ()
# , а Правда:
# печать ('主')
#
# time.sleep (4)
# печать (а)
#
# ""»
#主
#子
#子
#子
#子
#子
# ...... (子)
#
# ""»
**************************** #
# 5. присоединиться к функции

# Импорт из многопроцессорных процесса
# Import OS, Time
#
# Задача DEF ():
# для ввода в диапазоне (100):
# Print ( 'суб RUN')
#
# Если __name__ == '__main__':
# P процесс = (целевой = Task)
# p.start () для отправки команд операционной системы #
# p.join () # получить главный процесс закончен , а затем ждать , пока ребенок , чтобы продолжить
#
# Print ( «над»)
#
#
# «» "
# есть p.join ()
# ребенка пробег
# ... (97) обнаружено ...
# пробег суб-
блок # пробег
# над
#
#
# нет p.join ()
# над
# ребенком запустить
# не запускать суб-
блок # пробег
# ....... (97)
#
# "" "
# **************************** ***
# Импорт из многопроцессорных процесса
# Import OS, Time
#
# DEF tASK1 (время):
# для ввода в диапазоне (1000):
# Print (F '{имя} RUN')
#
# DEF Task2 (время):
# Я в диапазоне для (1000):
# печати (F '{имя} RUN')
#
# Если __name__ == '__main__':
# Процесс P1 = (цель = tASK1, Args = ( "P1"))
# P1. Start ()
# P2 = процесса (цель = task2, арг = ( "P2"))
# p2.start ()
#
# p2.join () # ждать ребенка , чтобы основной процесс закончен , а затем выполнить
# p1.join ( )
#
#
# # , чтобы достичь эффекта p1, p2 две программы выполняются одновременно, и снова должны быть напечатаны только после завершения всех выполнения программы
Печать # ( 'над')
#
#
# **************************************** ********

# с помощью Join
# Import OS, Time
# Импорт из многопроцессорных процесса
#
# DEF задач (имя):
(. 4) # для ввода в диапазон:
# Print (F '{имя} RUN')
#
# Если __name__ == '__main__': параметры # арг является передача суб-процесс должен быть наследственная
#
#
# PS = []
# для ввода в диапазоне (4.):
# Р = процесс (целевая = Задача, арг = (I))
# p.start ()
# ps.append (P)
#
# # присоединиться один на один следующий
# для ввода в PS:
# i.join ()
#
# Print ( 'над')
#
#
# "" "
# 0 пробег
# 0 RUN
# 0 RUN
# 0 RUN
#. 1 ПУСК
#. 1 ПУСК
#. 1 ПУСК
#. 1 ПУСК
# 2 RUN
# 2 RUN
# 2 RUN
# 2 RUN
#. 3 RUN
#. 3 RUN
#. 3 RUN
#. 3 RUN
# над
# "" "

# ****************************
Процесс многопроцессорных Импорт из
импорта OS, Time

DEF Task ():
в то время как True:
Print ( 'суб RUN', os.getpid ())
# os.getpid () сама ID os.getppid () родительского класса ID


IF = __name__ = '__main__':
р-процесс = (целевой = Задача, арг = "старый процесс драйвера")
p.start ()
p.join ()
Print (p.name)

# # демон p.daemon
P.join # ()
# Печать (p.exitcode) # получить процесс кода выхода --- использование: например, установить 0: ошибки учетной записи, 2:: правильная 1 неправильный пароль, 3, неправильный адрес. , ,
# Печать (p.is_alive) () # смотреть процесс живой
# печати ( «цзы», p.pid ) # получить процесс ID
# p.terminate () # завершить процесс и начать отличается не прекращается немедленно, потому что операционная системы есть много вещей , чтобы сделать

IF __name__ == «__main__»:
«» "
1. создать объект сокета сервера, привязка IP, порт, начать прослушивание для основного процесса

2. соединения основного технологического цикла

дочернего процесса 3. связи с циклом клиент откроет суб-процесс
. «» "

рекомендация

отwww.cnblogs.com/zrx19960128/p/11123347.html