Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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瓶子框架-共享函数不能与端点并行运行_Python_Bottle - Fatal编程技术网

Python瓶子框架-共享函数不能与端点并行运行

Python瓶子框架-共享函数不能与端点并行运行,python,bottle,Python,Bottle,我有一个相当标准的Python瓶api。api的几个端点共享实用程序函数。看起来没有并行调用实用程序函数 在下面的代码示例中,api有两个端点:foo和bar。我的理解是,如果同时调用foo和bar,将创建两个单独的线程来处理它们。因此,util_func应该在这些线程的范围内执行 我看到两个独立的线程创建。但是util_func似乎被最后一个调用线程阻塞了。例如,如果称为bar,则称为foo。在foo中的util_func完成之前,bar中的util_func将被阻止。然后,工具栏中的util

我有一个相当标准的Python瓶api。api的几个端点共享实用程序函数。看起来没有并行调用实用程序函数

在下面的代码示例中,api有两个端点:foo和bar。我的理解是,如果同时调用foo和bar,将创建两个单独的线程来处理它们。因此,util_func应该在这些线程的范围内执行

我看到两个独立的线程创建。但是util_func似乎被最后一个调用线程阻塞了。例如,如果称为bar,则称为foo。在foo中的util_func完成之前,bar中的util_func将被阻止。然后,工具栏中的util_func完成

这是预期的行为吗???我的代码中唯一的区别是util_func是一个单独的模块

def util_func():
    # do stuff

@app.route(/foo)
def foo():
    util_func()
    # do other stuff

@app.route(/bar)
def bar():
   util_func()
   # do other stuff

bottle.run(app=app,host='localhost', port=8888,server='cherrypy')
看来你碰到了一个问题

如果你愿意,我们会写信的

def util_func(): 
    time.sleep(10) #10 long seconds...
你应该看到它们并行运行


如果您提供有关util_func的更多详细信息,我将提供更多帮助

是的,这是预期的行为,假设
util_func
不进行任何I/O调用。一次只能运行一个Python线程。看见