Programming/Python
[Python] Thread
goatlab
2022. 1. 25. 16:38
728x90
반응형
SMALL
Thread
thread는 프로그램이 실행되는 실행 흐름의 초소 단위이다. os에서 exe 파일을 실행하면 기본적으로 해당 프로그램을 위한 프로세스가 생성된다. 그리고 다시 이 프로세스는 하나의 thread를 만들고 이 thread를 따라 코드가 실행된다. thread는 프로세스에 종속되므로 프로세스 내에서 thread가 추가로 만들때 새로운 thread는 프로세스 코드와 메모리를 공유한다.
◦ CPU 사용률 향상 ◦ 효율적인 자원 활용 및 응답성 향상 ◦ 코드 간결 및 유지보수성 향상 |
import threading as th
Thread(name=, target=, args=, kargs=, *, daemon=)
|
thread 객체를 생성하더라도 바로 실행되지 않고 start()를 호출하면서 시작된다.
타임아웃을 초과해도 예외를 일으키지 않고 None을 리턴하므로 이 경우 is_alive() 호출하여 스레드가 실행 중인지를 파악할 필요가 있다.
|
thread를 사용 할 때 주의할 점은 Thread.start()는 작업이 끝나면 즉시 종료되기 때문에 thread가 동작하고 있는 중일 때 메인 thread가 대기하지 않는다면 프로그램이 중간에 끝나버릴 수도 있다. 프로세스의 종료 시점은 메인 thread가 종료 지점에 도달했을 때이며 다른 thread의 실행여부는 고려되지 않는다. 이를 막기위해 join() method가 사용된다.
728x90
반응형
LIST