Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查函数是否在Python 2.7中运行_Python_Python 2.7_Function - Fatal编程技术网

检查函数是否在Python 2.7中运行

检查函数是否在Python 2.7中运行,python,python-2.7,function,Python,Python 2.7,Function,如果我有这两个功能: def func1(): print "I am function1" def func2(): print "Function 1 is still running." while(func1 is running): func2() 如何检查函数1是否仍在运行?我使用线程模块解决了这个问题。下面是我的代码 import threading from threading import Thread func1_thread = Thread

如果我有这两个功能:

def func1():
    print "I am function1"

def func2():
    print "Function 1 is still running."

while(func1 is running):
    func2()

如何检查函数1是否仍在运行?

我使用线程模块解决了这个问题。下面是我的代码

import threading
from threading import Thread

func1_thread = Thread(target = func1)

while func1_thread.isAlive():
    func2()

... 这些是异步的吗?如果它们是串行的,则按顺序运行…Python默认情况下是同步的,因此当
func1
实际运行时,它将阻塞主线程,并且在函数完成之前不会继续您的程序。如何同时运行这两个线程,但是,只要func1停止运行,就停止func2?请阅读文档中的
线程化模块。它提供线程来并行运行,并提供同步原语来控制线程之间的执行顺序。Michael提到的线程模块可能就是答案。或者您可能需要生成器和协同程序。或者您可能需要两个完全独立的Python进程。你能进一步描述一下情况吗?