윈 도 우 쓰레드와 핸들
2022.08.13 18:19
작업관리자의 CPU에서 보이는 프로세스가 144라는건 메모리에 상주된 파일 갯수라는 것은 알겠는데
스레드와 핸들 수치는 구체적으로 무엇을 의미하는 건가요?
(현재 동영상 인코딩 중이라 CPU이용율 100%로 나오는 것입니다.)
댓글 [3]
-
내꼬 2022.08.13 20:52 -
메리아 2022.08.14 10:42
프로그래머가 아니라면 별로 신경쓸게 아닙니다.
딱히 제어할 수 있는 것도 아니구요.
1. 프로세스 : exe 파일등을 1개 실행시켰을때 +1. 다만 그 exe가 멀티프로세스나 다른 프로그램을 추가로 실행하기도 함.
작업관리자의 세부정보 탭에 나오는 목록 갯수와 같음.
2. 스레드 : 각 프로세스에서 동시에 처리하기 위해 나눈 처리단위.
예를들면 어떤 구형이나 초보가 만든 프로그램의 경우에는
오래걸리는 작업을 실행시킬경우 프로그램이 어디 클릭도 안되고 프리징이 걸림.
이는 단 1개의 스레드만으로 화면표시와 내부실행을 감당하기 때문임.
그런데 스레드를 여러개로 나눠서 화면표시의 UI 스레드로, 내부 작업실행용 스레드를 나누면 화면 프리징 없이 "동시성"을 충족하면서 돌아가게 됨.
이렇게 주로 사용자 경험이나 CPU의 성능을 최대한 발휘해서 처리하기 위한 방식이 스레드의 시분할방식 처리.
다만, 내부적으로 동시에 하는것처럼 보이기 위해서 조금씩 각 쓰레드에 자원을 할당하면서 돌아가면서 돌리기 때문에
쓰레드를 잘못 사용했을경우 싱글쓰레드보다 전체 처리시간이 훨씬 느려질수도 있는 단점이 있으므로 무작정 쓰레드로 분할해서는 안됨.
프로세스도 그렇지만 저 쓰레드가 많을수록 당연히 CPU 처리는 늦어질 수 있음.
그런데 애초에 이건 사용자가 뭘 할게 아니라서 그냥 그렇구나 하는게 다임. 개발자의 문제임.(물론 사용자측에서는 최대한 불필요한 작업수행을 안하면 CPU 가용자원이 많아지는거)
3. 핸들 : 윈도우는 기본적으로 메시지 처리방식임. 내부적으로 특정규칙의 메시지를 주고 받으면서 작업을 처리함.
그런데 그 메시지를 어디로 보내야하는지가 문제인데, 그 "주소"에 해당하는게 핸들임.
각 핸들은 넘버링이 되어있고, 바탕화면, 작업표시줄, 기타 여러 시스템프로세스 등을 비롯해서, 사용자 시야에서는 윈도우 메인창부터 시작해서 내부의 모든 객체 요소까지,
caption button 체크박스 등등 하나하나에 전부 핸들이 할당됨.(사실 분류가 또 좀 따로 있지만, 기본적으로 모두가 핸들임.)
본문의 작업관리자에서 카운트하는 것도 구분없이 다 카운트하는거. 윈도우 화면의 버튼 하나하나가 다 핸들을 가집니다.
그래서 그 핸들로 특정한 메시지를 보내거나 사용자 입력이 발생한걸 확인해서 다음 작업을 하게 되는거임.
이거도 딱히 제어할 수 있는 부분은 아니지만 나름 중요한게, 원래 사용이 끝나면 저걸 반환해야하는데 반환 못하고 점유하는 경우가 있음.
윈도우를 끄지 않고 오래 사용할수록 핸들이나 반환못한 자원 그런게 쌓임.
주로 중요한 문제가 흔히 "메모리 누수"라고 부분. 반환되지 않은 핸들이 많을수록 메모리 누수가 많이 발생하므로
재부팅 시켜서 처음부터 시작해야할 이유가 됨.
하지만 역시 기본적으로 제어할만한 부분은 아니므로, 유저입장에서 할수 있는 거라고는 되도록 오래 쓰지말고 재부팅을 자주하는게 좋음.
(최대절전모드 같이 재부팅 없이 계속 쓰는걸 불필요하게 반복하지 말라는거)
참고로 핸들은 버튼같은거나 체크박스같은거 포함된다고 했지만, 기본적으로 우리가 웹페이지에서 보는 체크박스와 버튼과는 다름. 웹페이지 화면은 그냥 통으로 한개의 핸들임.
일반 윈도우 폼에서 체크박스나 버튼이 핸들을 가지는거.
그래서 매크로를 작성할 경우 윈도우 폼에서는 위치를 찾기 쉽지만, 웹페이지는 외부에서 손대기가 쉽지않음. 웹은 핸들없이 자체 렌더링이기 때문.
참고로 게임화면 또한 마찬가지입니다. 그냥 딱 흔히 우리가 보는 "기본 윈도우 창" 같은거만 내부적으로 핸들을 가집니다.
그외에도 안보이는 프로세스나 실행부분들도 모두 가지구요.
쓰잘데기 없는(?) 정보를 많이 쓰긴 했습니다만
일반유저로서는 그냥
"불필요하게 절전모드 쓰지말고 재부팅해라",
"쓸데없이 이것저것 실행시켜놓지 마라",
"실행하고 쓸데없는 작업 시켜놓지 말라"는 정도의
일반론적인 주의점 말고는 신경쓸게 없습니다.
심지어 이것마저도 컴퓨터 성능이 좋아진 요즘 시대에는 별로 주의할게 아니라 자기 꼴리는대로(?) 쓰면 됩니다.
절전모드로 한달을 써도 별로 상관없는 사람도 있고, 실행할건 다 실행해야 맞는셈이기도 하죠.
TMI에 가까운거라 이런게 있구나 하고 대충 넘어가도 상관없습니다.
-
billy 2022.08.14 13:27
방대한 댓글 감사합니다. 프로그래머가 아닌 저로서는 난해하나 이런거였구나 정도 이해되지만 도움 많이 되었습니다.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
» | 윈 도 우| 쓰레드와 핸들 [3] | billy | 291 | 08-13 |
94370 | 윈 도 우| win 10 설치본에 예약파티션 및 복구 파티션 삭제되는 레... [3] | 임잉글랜드 | 592 | 08-13 |
94369 | 하드웨어| 컴터가 눕히면 잘 되는데, 세우면 뻑이 납니다. [6] | brucex | 673 | 08-13 |
94368 | 윈 도 우| 최대절전모드 불가 | 278145 | 133 | 08-13 |
94367 | 윈 도 우| 전뤈이 안 켜집니다 [3] | brucex | 373 | 08-13 |
94366 | 윈 도 우| phdgd now 혹시 가지고 계신분이 없나요 [1] | 퍄츠무 | 182 | 08-13 |
94365 | 소프트웨어| mp4 파일을 gif로 만들고 싶습니다.. [4] | 테츠로 | 445 | 08-13 |
94364 | 하드웨어| 한성 노트북 BossMonster X7957W (SSD 256GB), SSD 문제 ... [4] | 그대그리고 | 400 | 08-13 |
94363 | 소프트웨어| 네이버 MYBOX 탐색기 에서 파일 검색돼는게 있나요 | 세븐좋아 | 205 | 08-13 |
94362 | 윈 도 우| 윈11 wim 이미지에 tpm 우회 적용해야 하는가요? [3] | ksire | 661 | 08-12 |
94361 | 소프트웨어| win10 설정의 '모바일 핫스팟' 을 관리해주는 프로그램? [2] | ton3d | 281 | 08-12 |
94360 | 윈 도 우| 이거 어떻게 삭제하면 좋을까요? [3] | 278145 | 488 | 08-12 |
94359 | 기 타| 보안메일??? [2] | 바람낙엽 | 362 | 08-12 |
94358 | 하드웨어| 컴퓨터 섀시 팬 LED 비작동 [5] | 읍민Kaine | 296 | 08-12 |
94357 | 윈 도 우| DELL 워크스테이션 PE 부팅 시 SSD/HDD 인식 문제 [2] | 촌꼬마 | 257 | 08-12 |
94356 | 하드웨어| HDD cmos 암호 제거하는 방법이 있을까요? [8] | danuri | 577 | 08-12 |
94355 | 윈 도 우| 다운로드중 68% 해결방법 문의 [7] | vegabond | 324 | 08-12 |
94354 | 윈 도 우| 부모 VHD 를 120기가 로 하면 자식용량은? [4] | zizer7ener | 349 | 08-12 |
94353 | 윈 도 우| 윈도우11에 더이상 TPM 필요없나요? [4] | 명랑젓고난 | 815 | 08-12 |
94352 | 소프트웨어| 인터넷 시큐리티 대수 결정 [4] | 278145 | 257 | 08-12 |
스레드, 핸들 (tistory.com)