【问题标题】:Thread is printing two times at same loop线程在同一个循环中打印两次
【发布时间】:2019-08-04 06:05:07
【问题描述】:

在每个循环内部,线程打印两次。在这种情况下,它每 3 秒打印两次。我希望它只打印一次。

在烧瓶上:

from flask import Flask
import threading
from time import sleep


app = Flask(__name__)

@app.route('/')
def index():
  return 'ok'

def func():
  count = 1
  while True:
    print(count)
    count += 1
    sleep(3)

t = threading.Thread(target=func)
t.setDaemon(True)
t.start()

if __name__ == '__main__':
  app.run(debug=True)

输出:

1
1
2
2
3
3
...

预期输出:

1
2
3
...

【问题讨论】:

  • 即使在重复的数字之间,您是否也有 0.99 秒的延迟?
  • 如果不是太大,您可以编辑您的帖子以显示整个代码吗?
  • 不管时间,打印两次。在这种情况下,它每 0.99 秒打印两次。例如,如果我更改为 5 秒,它将每 5 秒打印两次。关于代码,因为我是在Flask系统中运行的,所以太大了。
  • 我编辑了帖子,现在你可以在 Flask 中看到帖子了。

标签: python-3.x multithreading flask debian


【解决方案1】:

我知道原因了。

当在 Flask 中以调试模式运行线程和 apscheduler 等模块时:on ... 它发生了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-25
    • 2014-03-06
    • 1970-01-01
    • 2012-11-13
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    相关资源
    最近更新 更多