>  기사  >  백엔드 개발  >  Python에서 수동으로 지연하는 방법

Python에서 수동으로 지연하는 방법

anonymity
anonymity원래의
2019-05-27 13:57:425083검색

Python 스크립트에 시간 지연을 추가하는 방법을 알고 싶습니다.

import time
time.sleep(5)   # Delays for 5 seconds. You can also use a float value.

약 1분마다 실행되는 또 다른 예는 다음과 같습니다.

import timewhile True:
    print("This prints once a minute.")
    time.sleep(60) # Delay for 1 minute (60 seconds).

time 모듈에서 sleep() 함수를 사용할 수 있습니다. 1초 미만의 해상도를 위해 부동 매개변수를 채택할 수 있습니다.

from time import sleep
sleep(0.1) # Time in seconds.

Python에서 수동으로 지연하는 방법

Python에서 수동으로 지연하는 방법은 무엇입니까?

스레드에서는 절전 기능을 권장합니다.

>>> from time import sleep
>>> sleep(4)

이 기능은 실제로 운영 체제가 호출하는 스레드의 처리를 일시 중지하여 절전 중에 다른 스레드와 프로세스가 실행되도록 합니다.

이 목적으로 사용하거나 기능 실행을 지연시키는 데 사용하세요. 예:

>>> def party_time():
...     print('hooray!')
... 
>>> sleep(3); party_time()
hooray!

3초 후에 인쇄 입력하세요.

sleep을 사용하는 다중 스레드 및 프로세스의 예

다시 말하지만, sleep은 스레드를 일시 중지합니다. 이는 처리 능력을 전혀 사용하지 않습니다.

시연하려면 다음과 같은 스크립트를 작성하십시오(처음에는 대화형 Python 3.5 셸에서 이것을 시도했지만 하위 프로세스 party_later는 어떤 이유로 함수를 찾을 수 없었습니다):

from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed
from time import sleep, time
def party_later(kind='', n=''):
    sleep(3)
    return kind + n + ' party time!: ' + __name__
def main():
    with ProcessPoolExecutor() as proc_executor:
        with ThreadPoolExecutor() as thread_executor:
            start_time = time()
            proc_future1 = proc_executor.submit(party_later, kind='proc', n='1')
            proc_future2 = proc_executor.submit(party_later, kind='proc', n='2')
            thread_future1 = thread_executor.submit(party_later, kind='thread', n='1')
            thread_future2 = thread_executor.submit(party_later, kind='thread', n='2')
            for f in as_completed([
              proc_future1, proc_future2, thread_future1, thread_future2,]):
                print(f.result())
            end_time = time()
    print('total time to execute four 3-sec functions:', end_time - start_time)
if __name__ == '__main__':
    main()

이 스크립트의 샘플 출력:

thread1 party time!: __main__
thread2 party time!: __main__
proc1 party time!: __mp_main__
proc2 party time!: __mp_main__
total time to execute four 3-sec functions: 3.4519670009613037

위 내용은 Python에서 수동으로 지연하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.