在Python中同时运行函数

时间:2017-04-15 03:44:28

标签: python

我有一个机器人用于我们的IRC频道,我试图让它提醒人们在交互时是什么时间。

代码如下:

*code that logs into the server*
def process1():
    while 1:
        time = datetime.datetime.now().time()
        time = str(time).split(':')
        if '15' in time[1]:
            irc.send('PRIVMSG ' + channel + ' :It is %s:%s, rest of message' % (time[0],time[1]))

def process2():
    while 1:
        *code that listens and responds to what comes in from other users*

if __name__ == '__main__':
    t1 = Thread(target = process1())
    t2 = Thread(target = process2())
    t1.setDaemon(True)
    t2.setDaemon(True)
    t1.start()
    t2.start()

我认为问题是两个流程都有一个

while 1:

循环进入它们,并且需要知道如何同时运行1:while循环。我已经查看了多处理与线程的文档和示例,以及关于SO的其他示例以及让我对多处理感到困惑的是我见过的所有示例都将参数传递给它们,我只是试图运行这些进程不需要任何参数。

最简单的形式:是否有一种方法可以同时运行两个函数,两个函数都包含while循环,彼此独立?

1 个答案:

答案 0 :(得分:0)

@eyllansec的评论中提到

我需要改变

t1 = Thread(target = process1()) 

t1 = Thread(target = process1)

现在完全按照预期工作,谢谢!