【问题标题】:Cherrypy: set delay between two threadsCherrypy:设置两个线程之间的延迟
【发布时间】:2021-03-18 14:30:23
【问题描述】:

早上好。我有一个带有cherrypy的宁静API应用程序。来自网页的数据被发送到数据库。我的应用程序使用内部变量设置 ID。它是一种计数器。当网页发送多个文件时,有时会发生更新 ID 计数器比文件慢的情况,因此我为两个文件设置了相同的 id。我想在一个线程和下一个线程之间设置一点延迟(超过 5ms),这样我就可以避免这个问题。我该如何解决?

【问题讨论】:

    标签: python python-3.x multithreading cherrypy


    【解决方案1】:

    正确的方法是在 锁同步原语 下更新计数器,而不是添加延迟。 您将需要创建一个将由所有线程共享的锁

    shared_lock = threading.Lock().

    每个线程应该增加计数器:

    with shared_lock :
        # increment your conter
    

    【讨论】:

    • 所以我应该在 init 方法中写 shared_lock 以便每个线程都可以“看到”它以及当我必须增加我的计数器时“with part”对吗?
    • 我不知道您的代码看起来如何,所以我不确定。但是您需要在所有线程“看到”的上下文中定义锁。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2017-01-27
    相关资源
    最近更新 更多