Исходный текст программной реализации
ВИ: Вертикальное исполнение
Первичное решение
defA10(ccrt,hCycles): # подпрограмма дополнительного потока
hCycles.za10 = 0 # Введение индикации окончания A10
hCycles.Zh(ccrt.techsys.head3) # СГ3 - типовой цикл
hCycles.za10 = 1 # Окончание процесса A10
defA20(ccrt,hCycles): # подпрограмма дополнительного потока
hCycles.za20 = 0 # Введение индикации окончания A20
hCycles.Zh(ccrt.techsys.head8) # СГ8 - типовой цикл
hCycles.za20 = 1 # Окончание процесса A20
def A30(ccrt, hCycles): # подпрограмма дополнительного потока
hCycles.za30 = 0 # Введение индикации окончания A30
hCycles.Zh(ccrt.techsys.head6) # СГ6 - типовой цикл
hCycles.Zh(ccrt.techsys.head7) # СГ7 - типовой цикл
hCycles.za30 = 1 # Окончание процесса A30
def A40(ccrt, hCycles): # подпрограмма дополнительного потока
hCycles.za40 = 0 # Введение индикации окончания A40
hCycles.Zh(ccrt.techsys.head8) # СГ8 - типовой цикл
hCycles.Zh(ccrt.techsys.head2) # СГ2 - типовой цикл
hCycles.za40 = 1 # Окончание процессаA40
defeAxx1(ccrt,hCycles): #algA571() программа основного потока
hCycles.Zh(ccrt.techsys.head2) # СГ2 - типовой цикл
thread.start_new(expSub.A10,(ccrt,hCycles,)) # поток A10
thread.start_new(expSub.A20,(ccrt,hCycles,)) # поток A20
hCycles.Zh(ccrt.techsys.head0) # СГ0 - типовой цикл
whilenothCycles.za20: # Контроль окончанияA20
time.sleep(0.1) # задержка в цикле ожидания
hCycles.Zh(ccrt.techsys.head2) # СГ2 - типовой цикл
whilenothCycles.za10: # Контроль окончанияA10
time.sleep(0.1) # задержка в цикле ожидания
thread.start_new(expSub.A30,(ccrt,hCycles,)) # поток A30
thread.start_new(expSub.A40,(ccrt,hCycles,)) # поток A40
hCycles.Zh(ccrt.techsys.head4) # СГ4 - типовой цикл
while not hCycles.za40: # Контроль окончания A40
time.sleep(0.1) # задержка в цикле ожидания
whilenothCycles.za30: # Контроль окончанияA30
time.sleep(0.1) # задержка в цикле ожидания