守则:
#!/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()
Python的作用:
/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
对于其中的所有德语条款感到抱歉,希望它不会妨碍任何人理解这段代码。
我试图解决的问题:
我希望代码能够并行运行,但是它在另一个线程之后运行von,所以它是一个串行操作,如果用sleepcommand添加一个无限循环,执行将保持在无限循环内,所以其他线程仍将被忽略。
我做错了什么,或者我错过了什么?
最后,所有3个线程都应该并行运行,并且在睡了一小段时间后,我会做些什么。
答案 0 :(得分:3)
您不得在s = Thread(target=pruefeStatusAlarmUndBetrieb)
中调用目标。删除()。