如何在python中只休眠一个函数?

cnh2zyt3  于 2023-02-02  发布在  Python
关注(0)|答案(4)|浏览(128)

我正在写一个代码在python和我只是想一个函数睡眠不是整个代码在time.sleep().但我找不到一种方法.我的代码:

from time import sleep
a = int()
def calc(a,b):
    while True:
         a=a*b
         if a >> 12:
              sleep(12)
              #i just want this func to sleep here.
def print(msg):
    while True:
          msg = a
          print(msg)
          #i don't want this func to sleep

我该怎么办?

mbzjlibv

mbzjlibv1#

使用异步

import asyncio

async def calc(a,b):
while True:
     a=a*b
     if a >> 12:
          await asyncio.sleep(12)
t8e9dugd

t8e9dugd2#

我想你需要读一点关于time.sleep函数的内容,下面是documentation函数的说明:
将调用线程的执行挂起给定的秒数。参数可以是浮点数,以指示更精确的休眠时间。实际挂起时间可能少于请求的时间,因为任何捕获的信号都将终止休眠(),然后执行该信号的捕获例程。此外,由于系统中其它活动的调度,挂起时间可能比请求的时间长任意量。
如果你调用了这个函数,它会在你想要的地方暂停程序。它不会停止另一个函数。

wztqucjr

wztqucjr3#

f1()函数内的代码将在运行代码2秒后执行,但在此期间将执行f2()函数。

from time import time, sleep
def f1():
    print("Function1")
def f2():
    print("Function2")

t1 = time() # Stores current system time in seconds
print(t1)

time_to_delay_f1 = 2
while True:
    if time()-t1 > time_to_delay_f1:  # time()-t1 is the time passed after assigning t1 = time(), [see before 2 lines]
        f1()
    else:
        f2()
tvokkenx

tvokkenx4#

    • 您可以使用函数内的代码:**
import time
time.sleep(2) # put value here as seconds, 2 is 2 seconds
    • 或**
from time import sleep
sleep(60) # put value here as seconds, 60 is 60 seconds = 1 minute
    • 示例代码:**
import time
def function1():
    print('function1 is sleeping for 2 seconds...')
    time.sleep(2)

count = 0
while True:
    if count >= 10:
        break
    function1()
    count=count+1
    • 有关详细信息,请访问:**https://www.example.comdocs.python.org/3/library/time.html#time.sleep

相关问题