使用sleep同时运行两个python函数

时间:2015-08-12 14:06:11

标签: python function sleep

我有两个函数,但我不能让它们一直运行foo()函数,这个函数会休眠一段时间。

import time

filename = "test.dat"

def foo():
    print "It deletes dat file and creates a new one"
    time.sleep(xxx)

def bar():
    print "Writes to dat file"

while True:
    foo()
    bar()

2 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了这个问题,但试试这个问题并让我知道这是否是你想要的

import time
from multiprocessing import Process

def foo(x):
    while True:
        print ("It deletes dat file and creates new one")
        time.sleep(x)

def bar():
    while True:
        print ("Wtires to dat file")

process1 = Process(target=foo, args=(0.05,))
process2 = Process(target=bar)
process1.start()
process2.start()

使用此代码foo()将在x = 0.05秒休息时运行,bar()将一直运行...但请注意,“始终”意味着经常并且没有休息:)

答案 1 :(得分:0)

问题在于: filename被定义为globa变量,一旦foo()删除该文件并创建一个新文件,filename现在是一个局部变量,因此bar()函数可以&#39 ;找到dat文件,以及它根本不运行的原因。 谢谢大家的支持和时间。