python3 파충류 중 다선정의 장점 총결
요약하면 다중 루틴 프로그래밍을 사용하는 데는 다음과 같은 몇 가지 장점이 있다.
프로세스 간에 메모리를 공유할 수 없지만 스레드 간에 메모리를 공유하는 것은 매우 쉽다.
운영체제는 프로세스를 만들 때 이 프로세스에 시스템 자원을 재분배해야 하지만 라인을 만드는 대가는 훨씬 적다.따라서 다중 루틴을 사용하여 다중 임무를 수행하는 것이 다중 프로세스를 사용하는 것보다 효율이 높다.
Python 언어는 단순히 기본 운영체제의 스케줄링 방식이 아니라 다중 루틴 기능 지원을 내장하여 Python의 다중 루틴 프로그래밍을 간소화시켰다.
threading 모듈
일반 작성 방법
import threading
import time
def run(n):
print("task", n)
time.sleep(1)
print('2s')
time.sleep(1)
print('1s')
time.sleep(1)
print('0s')
time.sleep(1)
if __name__ == '__main__':
t1 = threading.Thread(target=run, args=("t1",))
t2 = threading.Thread(target=run, args=("t2",))
t1.start()
t2.start()
----------------------------------
>>> task t1
>>> task t2
>>> 2s
>>> 2s
>>> 1s
>>> 1s
>>> 0s
>>> 0s
수호 스레드다음 예를 들어 setDaemon(True)을 사용하여 모든 하위 라인을 메인 라인의 수호 라인으로 만들었기 때문에 메인 프로세스가 끝나면 하위 라인도 끝납니다.그래서 메인 라인이 끝나면 전체 프로그램이 종료됩니다.
import threading
import time
def run(n):
print("task", n)
time.sleep(1) # 1s
print('3')
time.sleep(1)
print('2')
time.sleep(1)
print('1')
if __name__ == '__main__':
t = threading.Thread(target=run, args=("t1",))
t.setDaemon(True) # , start()
t.start()
print("end")
----------------------------------
>>> task t1
>>> end
수호 라인을 설정한 후, 주 라인이 끝날 때, 하위 라인도 즉시 끝나고, 더 이상 실행하지 않는다는 것을 알 수 있습니다.python 다중 스레드 인스턴스 코드:
스레드 1개:
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/2.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/3.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/4.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/5.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/6.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/7.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/8.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/9.html
Done, Time cost: 8.182249069213867
2개의 스레드 시간:
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/2.html
Current Thread Name Thread-2, Url: http://www.pythontab.com/html/pythonjichu/3.html
Current Thread Name Thread-2, Url: http://www.pythontab.com/html/pythonjichu/4.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/5.html
Current Thread Name Thread-2, Url: http://www.pythontab.com/html/pythonjichu/6.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/7.html
Current Thread Name Thread-2, Url: http://www.pythontab.com/html/pythonjichu/8.html
Current Thread Name Thread-1, Url: http://www.pythontab.com/html/pythonjichu/9.html
Done, Time cost: 4.0987958908081055
이는python3파충류 중 다선정의 장점에 대해 정리한 글입니다. 더 많은python3파충류 중 다선정의 장점에 대해 어떤 내용이 있는지 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Jupyter 공식 DockerHub에 대한 메모에 기재되어 있다. base-notebook minimal-notebook scipy-notebook tensorflow-notebook datascience-notebook pyspark-notebook all-s...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.