-
pyqt5(2) Thread개발 2021. 7. 11. 02:16728x90
프로세스란?
프로세스란 프로그램이 실행되었을때를 말합니다.
프로세스는 한개 이상의 쓰레드로 구성되며
프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식을 멀티태스킹이라고 한다. 프로세스 관리는 운영 체제의 중요한 부분이 되었다.
-- 위키에서 가져옴--
스레드(thread)란?
스레드(thread)란 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미합니다.
모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행합니다.
또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)라고 합니다.
--TCP School에서 가져옴--
파이썬은 기본적으로 싱글쓰레드입니다 쓰레드를 모르는상태에서 응용프로그램을 개발하다보면
자기가 생각한대로 실행되지않거나 동시에 작업을해야하는데 문제가생기는경우가 있습니다.
pip install tqdm
파이썬으로 프로그레스바를 띄우는 코드
▼▼▼▼▼▼▼
실행시켜보겟습니다
저는 하나 말고 두개를 "동시에" 띄우고싶기때문에 제가 쓰레드를 사용하지않고 짜보겟습니다.
프로그레스바2 제가 쓰레드를사용하지않고 어떻게든해보려고한다면 이게 최선일겁니다 실행하면
저는 동시에 띄우고싶지만 안되는모습입니다. 이제 쓰레드를 하나씩 생성해서 돌려보겟습니다.
코드 이제 실행시켜보면
둘다 실행됨 쓰레드를 생성하지않았을때는 쓰레드가 하나밖에 작동하지않기떄문에 동기적으로 실행되는걸 볼수있었지만
쓰레드를 하나 생성해서 두가지일을 할수있습니다. 이걸 응용하여 pyqt5 응답없음을 해결해보도록하겠습니다.
제 블로그를 출력해주는 함수를 만들고
저번에 했던 레이블의 텍스트 크기와 색바꿔주는건 그대로 두고
출력해주는 쓰레드를 생성해보겟습니다
▼▼▼▼
이런식 실행시켜보면 저번과는 다르게 응답없음이 뜨지않고 둘다 정상적으로 작동되는걸 볼수있습니다.
제대로 작동함 728x90'개발' 카테고리의 다른 글
Java static을 썼을 때의 차이 (0) 2021.08.28 Nodejs mariaDB(로그인,회원가입 구현) (0) 2021.07.17 Python Pyqt5 기초// 응답없음해결법 (0) 2021.07.09 Node js로 디스코드 봇만들기 (0) 2021.06.13 node js 크롤링 puppeteer 사용 (0) 2021.06.08