Найти - Пользователи
Полная версия: цикл бесконечности
Начало » Python для новичков » цикл бесконечности
1
YuraChudnick
как сделать цикл что-бы этот код работал бесконечно?

import threading
import random
import time
S0=threading.Semaphore(0)
S1=threading.Semaphore(0)
S2=threading.Semaphore(0)
S3=threading.Semaphore(0)
S4=threading.Semaphore(0)
S5=threading.Semaphore(0)
def FuncT0():
    while True:
        s=1
        S4.release()
        time.sleep(5)
        S5.acquire()
        print "Все Ок!"
        
def FuncT1():
    global t, z, x
    S4.acquire()
    print "Гості: 1 - з сиропом, 2 - з молоком, 3 - морозивом."
    t = random.randrange(1,3)
    z = random.randrange(2,4)
    if t==z:
        t=1
        z=3
    print "Господар дає:"
    if t==1:
        print "сироп,"
    else:
        print "молоко,"
        
    if z==3:
        print "морозиво."
    else:
        print "молоко."
    x = t + z
    if x==5:
        S0.release()
    if x==4:
        S1.release()
    if x==3:
        S2.release()
    
    
def FuncT2():
    global x
    S0.acquire()
    time.sleep(2)
    print "Перший гість зробив коктель!"
    S5.release()
    
def FuncT3():
    global x
    S1.acquire()
    time.sleep(2)
    print "Другий гість зробив коктель!"
    S5.release()
def FuncT4():
    global x
    S2.acquire()
    time.sleep(2)
    print "Третій гість зробив коктель!"
    S5.release()
T0=threading.Thread(target=FuncT0)
T1=threading.Thread(target=FuncT1)
T2=threading.Thread(target=FuncT2)
T3=threading.Thread(target=FuncT3)
T4=threading.Thread(target=FuncT4)
T0.start()    
T1.start()
T2.start()
T3.start()
T4.start()
T0.join()
T1.join()
T2.join()
T3.join()
T4.join()
ajib6ept
while True:
Budulianin
YuraChudnick
T0=threading.Thread(target=FuncT0)
T1=threading.Thread(target=FuncT1)
T2=threading.Thread(target=FuncT2)
T3=threading.Thread(target=FuncT3)
T4=threading.Thread(target=FuncT4)
T0.start()
T1.start()
T2.start()
T3.start()
T4.start()
T0.join()
T1.join()
T2.join()
T3.join()
T4.join()

functions =  [FuncT0, FuncT1, FuncT2, FuncT3, FuncT4]
for func in functions:
    worker = threading.Thread(target=func)
    worker.setDaemon(True) #если каждый поток будет работать бесконечно (while True)
    worker.start()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB