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
'Programming > Python' 카테고리의 다른 글
[Python] OS 모듈 (파일 불러오기와 저장하기) (0) | 2022.02.08 |
---|---|
[Python] concurrent.futures 병렬 작업 (0) | 2022.01.27 |
[Python] 랜덤 숫자 뽑기 난수 발생 (Random) (0) | 2022.01.20 |
파이썬 (Python) (0) | 2022.01.10 |
[Python] glob (파일 이름 일람 취득) (0) | 2021.12.23 |