Pythronthreading问题

时间:2016-12-09 18:30:35

标签: python multithreading

守则:

#!/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个线程都应该并行运行,并且在睡了一小段时间后,我会做些什么。

1 个答案:

答案 0 :(得分:3)

您不得在s = Thread(target=pruefeStatusAlarmUndBetrieb)中调用目标。删除()。