2016-12-09 6 views
0

Der Code:Pythronthreading Probleme

#!/usr/bin/env python 
# coding: utf-8 

from threading import Thread 
from time import * 

print strftime("%Y.%m.%d - %H:%M:%S;\n", localtime()) 


def pruefeStatusAlarmUndBetrieb(): 
     sleep(3) 
     print "Alarm und Betrieb" 
     print strftime("%Y.%m.%d - %H:%M:%S;\n", localtime()) 



def pruefeStatusEingaenge(): 
    sleep(4) 
    print "Eingänge" 
    print strftime("%Y.%m.%d - %H:%M:%S;\n", localtime()) 



def pruefeStatusAusgaenge(): 
    sleep(6) 
    print "Ausgänge" 
    print strftime("%Y.%m.%d - %H:%M:%S;\n", localtime()) 



def pruefe(): 

    s = Thread(target=pruefeStatusAlarmUndBetrieb()) 
    s.start() 

    t = Thread(target=pruefeStatusEingaenge()) 
    t.start() 

    u = Thread(target=pruefeStatusAusgaenge()) 
    u.start() 

pruefe() 

was Python tut:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/????/Documents/smartsys/test/test_threading.py 
2016.12.09 - 19:27:23; 

Alarm und Betrieb 
2016.12.09 - 19:27:26; 

Eingänge 
2016.12.09 - 19:27:30; 

Ausgänge 
2016.12.09 - 19:27:36; 


Process finished with exit code 0  

Sorry für alles, was Deutsch Begriffe darin, hoffentlich ist es nicht jemand behindert das Stück Code zu verstehen.

Was ich versuche zu lösen:

Ich gehe davon aus, dass Code parallel laufen zu lassen, aber seine runing von nach einem anderen Thread, so dass ihr einen seriellen Betrieb, wenn eine Endlosschleife mit sleepcommand hinzufügen, wird die Ausführung bleiben innerhalb der Endlosschleife, so dass die anderen Threads weiterhin ignoriert werden.

Was mache ich falsch oder habe ich missverstanden?

Am Ende sollten alle 3 Threads parallel laufen und tun was immer ich ihnen vorschlage tun, nachdem ich eine kurze Zeit des Thime geschlafen habe.

Antwort

3

Sie dürfen das Ziel nicht in s = Thread(target=pruefeStatusAlarmUndBetrieb) aufrufen. Löschen().