프로세스는 뭐고 스레드는 뭔가요?

  Рет қаралды 110,250

얄팍한 코딩사전

얄팍한 코딩사전

5 жыл бұрын

#프로세스 #스레드 #thread
Process와 Thread. 컴공의 운영체제 클래스😪에서 또는
멀티태스킹에 관련한 주제에서 들을 수 있는 용어들이죠.
어려울 수 있지만, 프로그래머로서 반드시 알아야 하는 개념들이에요.
프로세서와 스레드가 무엇이고 서로 어떻게 다른지 살펴보고
자바에서의 스레드 사용도 예제를 통해 알아보기로 하겠습니다.
= = =
🏠 얄코사이트: www.yalco.kr
🛒 개발자스티커 구매: smartstore.naver.com/honeykers
🎥 가장 쉬운 Git 튜토리얼: • [고정댓글필독] 가장 쉬운 Git 강좌 ...
🎥 포인터 쉽게 알아보기: • 포인터가 뭐고 왜 쓰는건가요?
🎥 객체지향에 대해 알아보기: • 객체지향 프로그래밍이 뭔가요?
🎥 객체지향 디자인 패턴: • 객체지향 디자인패턴 1
🎥 함수형 프로그래밍이란?: • 함수형 프로그래밍이 뭔가요?
🎥 쿠키 vs 세션 vs 캐시: • 쿠키, 세션, 캐시가 뭔가요?
🎥 프로세스와 스레드: • 프로세스는 뭐고 스레드는 뭔가요?
🎥 비동기 프로그래밍: • [코딩만화] 비동기 프로그래밍이 뭔가요?
🎥 REST API 알아보기: • [구버전 - 고정댓글 필독] REST A...
🎥 GraphQL 알아보기: • [고정댓글 필독] GraphQL이 뭔가요?
= = =
🎬 영상 주요 포인트
⚙️ 프로세스의 개념
여러분의 컴퓨터에서 실행할 수 있는 파일
윈도우의 경우 이름 뒤쪽에 .exe 붙어있는
그런 파일들을 '프로그램'이라고 해요.
그리고 그 프로그램이 실행돼서
돌아가가고 있는 상태,
즉 컴퓨터가 어떤 일을 하고 있는 상태를
'프로세스'라고 하죠.
...
여러 프로세스를 함께 돌리는 작업은
동시적, 병렬적, 또는
이 둘의 혼합으로 이뤄져요.
...
동시성은 프로세서 하나가
이거 조금 하고 이거 조금 하고 이거 조금 하고
이렇게 여러 작업을 돌아가면서
일부분씩 진행하는거에요.
...
이 과정이 Git똥차게 빨리 돌아가니까
사람에게는 이 프로세스들이
동시에 진행되는 것처럼 느껴지는거죠.
병렬성은 프로세서 하나에
코어 여러 개가 달려서
각각 동시에 작업들을 수행하는거에요.
듀얼코어 쿼드코어 옥타코어
이런 명칭이 붙는 멀티코어 프로세서가 달린
컴퓨터에서 할 수 있는 방식이죠.
CPU의 속도가 발열 등 물리적 제약 때문에
예전만큼 빠르게 발전하지 못하자
그 대안으로, 코어를 여러 개 달아서
작업을 분담할 수 있도록 만든거에요.
🧵 스레드의 개념
한 프로세스 내에서도 여러 갈래의 작업들이
동시에 진행될 필요가 있는거에요.
이 갈래를 '스레드'라고 불러요.
이 영상에서 메모리를 조리대에 비유했죠?
프로세서는 요리사고,
대량주문이 들어오는 이 식당에서
끊임없이 만들어내는 요리 메뉴
하나하나가 프로세스에요.
컴퓨터는 프로세스마다 자원을 분할해서 할당해요.
라면 끓이는 섹션, 김밥 마는 섹션, 햄버거 만드는 섹션
이렇게 조리 공간을 나눠서
요리사 혼자서 돌아다니면서 동시적으로 하든
여럿이서 병렬적으로 하든, 이들을 섞어서 하든
이 메뉴들을 계속해서 만들어내는거죠.
햄버거를 만드는 프로세스에서는
패티를 굽는 스레드가 진행되는 동안
빵에 야채를 얹고 소스를 뿌리는
스레드도 진행될 수 있겠죠.
한 메뉴의 스레드들은 같은 조리대에서 이뤄져요.
패티는 여기서 굽고 야채는 여기서 얹는다면
같은 조리대에서 작업하는 것보다
일하기가 더 힘들겠죠.
같은 메뉴를 만들 때는 같은 공간과 장비,
즉 같은 자원을 공유하는것이
더 효율적일거에요.
프로세스들은 컴퓨터의 자원을 분할해서 쓰지만
스레드는 프로세스마다 주어진 전체 자원을
함께 사용하는거죠.
이게 속도와 효율 면에서는 낫겠지만
단점도 있어요.
프로세스 안에서 공유되는 변수에
스레드 두 개가 동시에 손을 대요.
현실세계에서는 로맨스물이 되지만
컴퓨터 세계에서는 Error물이 돼요.
= = =
🎵 엔딩송 : 권민호, 김한영 - Let's Dance
🎼 자료출처 : gongu.copyright.or.kr
🎼 Music promoted by DayDreamSound : • Video

Пікірлер: 283
@yalco-coding
@yalco-coding 4 жыл бұрын
🎫 얄코 강의 선착순 반값쿠폰 (매주 갱신) bit.ly/yalco-fcfs-coupon 얄코 강좌들 보기: www.yalco.kr/#lectures 얄코 책 보기: www.yalco.kr/#books
@user-nt3po2lm5i
@user-nt3po2lm5i 3 жыл бұрын
학원에서 하루종일 설명해주는거 6분이면 끝
@omakase1890
@omakase1890 2 жыл бұрын
학원다니지말아야겠어요
@jocoding
@jocoding 4 жыл бұрын
git똥차게ㅋㅋㅋ 너무 재미있고 설명도 쏙쏙들어와요!! 잘보고갑니다ㅎㅎ
@달리기
@달리기 5 жыл бұрын
와우 얄코 채널 영상들 정주행 중이에요. 귀에 쏙쏙 박히는 설명, 적절하고 친절한 비유, 꽉찬 이미지 자료들, 모두 최고네요!! 앞으로도 잘 볼께요!
@yalco-coding
@yalco-coding 5 жыл бұрын
좋게 보아주셔서 감사해요~!!
@Mineralwww
@Mineralwww Күн бұрын
와..절로 고개가 끄덕여지네요 ❤
@ITGrowth
@ITGrowth 2 жыл бұрын
it용어를 이 정도로 쉽고 정확하고 와닿게 설명할 수 있는 사람이 몇분이나 있을까. 감탄하고 갑니다.
@ka0r116
@ka0r116 3 жыл бұрын
프로세스랑 쓰레드의 개념이 공룡책같은 운영체제 서적에선 너무 어렵게 설명되어있던데 얄코님의 영상을 보니 머릿속에 쏙쏙 들어옵니다. 구독하겠습니다. 좋은 영상 많이 만들어주세요!
@woozoobro
@woozoobro 10 ай бұрын
와... 영상 진짜 많이 찾아봤는데 지금처럼 이해가 잘 된 건 없었던 것 같아요!! 좋은 비유와 알찬 내용 정말 감사합니다😆
@shortcut113
@shortcut113 9 ай бұрын
정말 얄코님 강의는 최고예요~ 너무 재밌고 쉽게 잘 알려주셔서 감사합니다
@joooo_oo
@joooo_oo 4 жыл бұрын
학원다니면서 이해를 못해서 버벅이고 번아웃 상태인데 재미있는 비유와 설명으로 이해도 가고 + 흥미까지 생겼어요! 너무 감사하고 쭉 업로드 부탁드려요 😆
@yalco-coding
@yalco-coding 4 жыл бұрын
큰 보람 주는 댓글 감사합니다!!
@junwoojeong4886
@junwoojeong4886 Жыл бұрын
와... 진짜 너무 이해가 잘되네요. 어떻게 미국 교수님보다 간단하게 이렇게 설명히 되네요. 정말 감사합니다!
@lapis-cq1yi
@lapis-cq1yi 4 жыл бұрын
스레드에 관해서 쉽게 이해할 수 있었습니다! 앞으로도 잘 볼게요!
@zzunpletho5183
@zzunpletho5183 Жыл бұрын
설명을 이해가 쉽도록 그림과 예제 그리고 코믹한 말투로 설명하시는게 아주 좋습니다. 고인물개발자들은 대충 대략적으로 이해하고 개념은 있지만 설명을 잘 못하는경우가 대부분인데 개념이나 용어, 실제 필요하게 사용할예제를 적절하게 잘 설명해주셔서 도움이 됩니다. 얄코님 엄지척입니다. 감사해요~
@yalco-coding
@yalco-coding Жыл бұрын
도움되어드려 기쁩니다 ㅠㅜ 감사합니다!!
@user-sv3do7jy8j
@user-sv3do7jy8j Жыл бұрын
다른거 보다 잠오다가 이거보닌깐 잠이 확 깨네요ㅋㅋㅋ 감사합니다 귀에 쏙쏙이에요
@SIDsound
@SIDsound 4 жыл бұрын
설명 진짜 잘하시네요 . 다른데 보면 지저분하고 복잡해서 이해하기 힘든데 보기도 좋고 비유 진짜 잘하심
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@oeanb
@oeanb 4 жыл бұрын
이런 무료강의 정말 알차고 좋은 강의ㅠㅠㅠㅜ정말 감사합니다 이렇게 준비하시는 것도 엄청 공들이실텐데! 앞으로 더욱 더 발전해나가주세요!!! 구독하겠습니다 ㅎㅎ
@yalco-coding
@yalco-coding 4 жыл бұрын
ㅠ 감사합니다!!!
@ohtaeg
@ohtaeg 3 жыл бұрын
정말 좋아할 수 밖에 없는 채널인 것 같아요!! 예시를 너무 잘 인용해주셔서 이해가 쉽네요!!
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!!
@hanamon3814
@hanamon3814 2 жыл бұрын
예시들 덕분에 개념들이 쏙쏙 들어옵니다. 좋은 영상 만들어주셔서 감사합니다!
@user-fx7rw8fb3t
@user-fx7rw8fb3t Жыл бұрын
너무 쉽고 재밌는 설명 감사합니다 운영체제 공부중인데 도움이 많이많이 된거같아요 감사합니다!
@_Certified-wb6go
@_Certified-wb6go 4 жыл бұрын
제가 배운게 이런거였다는걸 드디어 깨달았네요ㅋㅋㅋㅋㅋㅋ 깔끔한 설명 감사드립니다! 앞으로도 좋은 영상 부탁드려요~~
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@elliekong712
@elliekong712 3 жыл бұрын
아 진짜 공감입니다 ㅠㅠㅠ 얄코님 정말 감사합니다!!!!!!!
@user-dw4tm2kf8o
@user-dw4tm2kf8o 3 жыл бұрын
설명 너무 감사합니다... 스레드 개념이 이렇게 입체적으로 들어오네요
@dellta2357
@dellta2357 3 жыл бұрын
여러번 볼수록 진짜 대단한분이란걸 느낌 이렇게 쉽게 설명하기위해서 명확하게이해했을거고 재밌게설명하기위해서 많이고민했을텐데 영상엔없지만 나는 그 과정이 보인다......
@yalco-coding
@yalco-coding 3 жыл бұрын
ㅠㅠ 감사합니다!!
@user-td9uc2nw6l
@user-td9uc2nw6l 2 жыл бұрын
한방에 이해됐어요. 정말 감사합니다! 다른 영상들도 감사히 잘 보겠습니다 ㅎㅎ
@user-xi8dy8tt8n
@user-xi8dy8tt8n Жыл бұрын
최근에 학교 과제를 하려고 자바를 개인적으로 공부하고 있는데 본 영상이 너무 큰 도움이 된 것 같아요! 항상 좋은 영상 너무 감사합니다~
@sdh4967
@sdh4967 3 жыл бұрын
현실세계에선 로맨스물이 되지만, 컴퓨터 세계에선 *에로*물이 돼요 ~
@star570091
@star570091 2 жыл бұрын
제가 본 설명 중에 제일 깔끔한 프로세스 vs스레드입니다.. 👍
@victor-qj2xj
@victor-qj2xj 3 жыл бұрын
와 정말 최고의 설명 이 개념을 이렇게 쉽게 설명해주다니! 감사합니다
@aaaaaab631
@aaaaaab631 3 жыл бұрын
설명 너무 좋아요 진짜진짜로요 감사합니다!!
@eunhalim1609
@eunhalim1609 2 жыл бұрын
영상 하나 보고 바로 구독과 좋아요 눌렀습니다. 유용하고 친절한 컨텐츠와 설명 감사드립니다.
@cheol5373
@cheol5373 2 жыл бұрын
깔끔한 설명이네요. 요즘 운체 공부 중인데 많은 도움이 되었습니다!
@heize9874
@heize9874 4 жыл бұрын
비유가 진짜 장난아니시네요 ㄷㄷㄷ... 좋은 영상 감사합니다!
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@user-lb2mf4py9d
@user-lb2mf4py9d 5 жыл бұрын
와 미쳤다.......이해 너무 잘된다.....감사해요 영상 맨날 하나씩 올라왔으면 좋겠어요.
@yalco-coding
@yalco-coding 5 жыл бұрын
ㅠㅜ 본업이 있어서 어렵지만 더 많이 할 수 있도록 노력할게요!!
@kjh625
@kjh625 4 жыл бұрын
우리 교수님보다 더 이해하기 쉽게 설명해주신듯한... 덕분에 개념정리 잘하고 갑니다!
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@yoonyoon2751
@yoonyoon2751 3 жыл бұрын
유튜브 순기능에 눈물한방울흘리고갑니다 ㅠㅠ 스레드 이해잘안되서 답답해미칠지경이었는데 이영상하나만으로도 구독을 안할아유가없네요 진짜 최고예요
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다~!!
@_drlego5373
@_drlego5373 3 жыл бұрын
최고의 스레드 강의에요^^~!
@arthuman2007
@arthuman2007 5 жыл бұрын
대애애애애애애박!!!!! 자막 덕분에 머리 쏙쏙들어와요 그대로 처럼 똑같이 진행해줘요!!!!
@yalco-coding
@yalco-coding 5 жыл бұрын
감사합니다!
@Remy-sx8vy
@Remy-sx8vy 3 жыл бұрын
너무 몰입도 있게, 정확한 설명 감사드립니다! 이해가 잘되요
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!!
@ryanpark2947
@ryanpark2947 2 жыл бұрын
12년차 IT쪽에서 일하는사람입니다만..참 설명 잘하시네요 목소리 딕션도 좋으시고^^ 항상 잘 보고있습니다. 프로세스와 쓰레드..대충 뭔진알지만 이렇게 잘 설명할수있는사람은 마니없죠 ㅎ
@gangharyu5497
@gangharyu5497 5 жыл бұрын
비유를 통한 설명이 참 좋아요
@yalco-coding
@yalco-coding 5 жыл бұрын
감사합니다!
@stayswa4842
@stayswa4842 4 жыл бұрын
와...자바코딩까지 예술 ....바로구독 눌렀어요 미쳣어요 ㅠㅠ컨텐츠 계속기대할게요👏👏👏
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@user-vc5vo4ol2g
@user-vc5vo4ol2g 3 жыл бұрын
와 딱 어렸을때 잘가르치고 재밌는 선생님 같으시네요. 표정 목소리톤도 부담스럽지도 않고 좋음
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!!
@l5757
@l5757 Жыл бұрын
헝 면접때문에 부랴부랴 보고있습니다 좋은 영상 감사해요 😊
@user-ox3dq1he1g
@user-ox3dq1he1g 3 жыл бұрын
설명 잘 듣고 있습니다. 정말 많은 도움 받았습니다. 좋아요 꾹 누르고 갑니다. 스넥면이에욬ㅋㅋㅋㅋ 재밌었습니당
@user-gj5zc9qo8j
@user-gj5zc9qo8j 3 жыл бұрын
Concurrency와 parallelism의 차이에 대해 굉장히 쉽게 설명해주셨네요 ㅎㅎ 다른 비유들도 굉장히 명쾌합니다!
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!!
@monsilelamour2583
@monsilelamour2583 2 жыл бұрын
감사합니다! 멋져요ㅋㅋ자바로 당장 해봐야겠어요
@user-pq9sh7wu9p
@user-pq9sh7wu9p 4 жыл бұрын
설명이 드릅게 찰집니다 ㅋㅋㅋ 귀에 착착 박힘
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@yunis5185
@yunis5185 4 жыл бұрын
최고의 설명인것같네요 ㅎㅎ 바로 이해했습니다 감사합니다 ㅎㅎ
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@nayejung4393
@nayejung4393 4 жыл бұрын
예를 들어서 설명해주시니 이해하기 쉽네요. 영상 만들어주셔서 감사합니다. 오늘부터 구독 신청했어요 ~ ㅎ
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!! 더 좋은 영상들 만들게요~!!
@choungyoungjae8271
@choungyoungjae8271 4 жыл бұрын
애매하게 알던 것을 좀 더 명확하게 알게되었어요. 감사합니다.
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@heepa6722
@heepa6722 3 жыл бұрын
매일 아침 한개씩 꼭꼭 챙겨봅니다!
@user-hl5sk1oj1m
@user-hl5sk1oj1m 4 жыл бұрын
우연히 찾게돼서 영상 5개째 내리 보고 있는데 처음보다 무척 잘생겨보이셔요 감사합니다 슨생님
@yalco-coding
@yalco-coding 4 жыл бұрын
앗 ㅎㅎㅎ 감사합니다!
@peacepiece9836
@peacepiece9836 3 жыл бұрын
와 감사합니다 ㅜㅜㅠㅜ 계속 헷갈려서 스트레스 받고있었는데
@simlab-0710
@simlab-0710 5 жыл бұрын
Good! 좋은 코딩독학영상 감사합니다!
@yalco-coding
@yalco-coding 5 жыл бұрын
감사합니다!!
@user-fd7mz7ze3w
@user-fd7mz7ze3w 2 жыл бұрын
항상 감사드립니다! 오늘도 개념 잡고 가요!!
@thesecondoz1413
@thesecondoz1413 3 жыл бұрын
네트워크 공부 시작한지 얼마 안되어서 스레드 활용한 멀티 프로세스 프로그래밍이 정말 헷갈렸는데 이 영상 하나도 바로 이해됐네요..
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!!
@masshunter
@masshunter 7 күн бұрын
와 설명의 킹이십니다. 구독하고 구독하기 잘했다는 생각이 들게 만드네요.
@yalco-coding
@yalco-coding 7 күн бұрын
감사합니다!!
@withDaddy
@withDaddy 5 жыл бұрын
쉽고 재미있는 설명이 넘 좋네요
@yalco-coding
@yalco-coding 5 жыл бұрын
감사합니다!
@user-dz8kg8zl6v
@user-dz8kg8zl6v 4 жыл бұрын
진짜 너무 좋아요 감사합니다❤️
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@user-gy9hn2un2b
@user-gy9hn2un2b 2 жыл бұрын
항상 감사합니다
@minkyuchoi610
@minkyuchoi610 5 жыл бұрын
와 정말 설명 잘해주셨네요! 감사해요!
@yalco-coding
@yalco-coding 5 жыл бұрын
감사합니다!
@keonwookim8589
@keonwookim8589 2 жыл бұрын
최고입니다!
@user-uo8fo1ev8e
@user-uo8fo1ev8e 5 жыл бұрын
와 ㅠ 코드랑 설명이랑 같이 들으니까 너무 이해가 잘되요 영상 찍어주셔서 감사합니다!
@user-uo8fo1ev8e
@user-uo8fo1ev8e 5 жыл бұрын
그리고 영상 주제 신청하고 싶은게 있는데 젠킨스 같은 CI 서버를 사용하면 좋은점 (?) , 필요성을 알고싶어요. 혼자 프로젝트 할때는 필요성을 느끼지 못해서 안했었는데 회사에선 사용하더라구요. 좀 알아봐도 제가 직접 배포 환경을 셋팅하지 않다보니까 잘 와닿지 않더라구요. 해당 주제에 해서 영상 찍어주시면 감사하겠습니다 !!
@yalco-coding
@yalco-coding 5 жыл бұрын
감사합니다! CI서버 내용도, 더 전에 배워야 할 내용들 이후로 기획중이에요. 얼른 좋은 컨텐츠로 만들도록 할게요~
@saucemr1029
@saucemr1029 5 жыл бұрын
와 정말 감사합니다 딱 알고싶던 부분이였습니다!
@yalco-coding
@yalco-coding 5 жыл бұрын
도움이 되어드렸다니 기쁩니다 ㅠ 감사합니다~
@gs_park
@gs_park 4 жыл бұрын
비유가 너무 재미있네요ㅋㅋ 구독 누르고 갑니다.
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@kossiecoder
@kossiecoder 4 жыл бұрын
와 설명 깔끔하네요 좋은 영상 감사합니다!
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@nevilkim7954
@nevilkim7954 4 жыл бұрын
너무 유익하고 재미있습니다. !!
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@DaeyongJin
@DaeyongJin 4 жыл бұрын
와 이런 설명을 소름 ㄷㄷ; 감사합니다.
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!
@floa2299
@floa2299 5 жыл бұрын
자바라서 코드는 못알아 봐도 재미있게 봤습니다! 항상 재미있는 강의 감사해요~~>
@yalco-coding
@yalco-coding 5 жыл бұрын
재밌게 보아주셔서 감사합니다~!!
@user-tq4jj2bw3u
@user-tq4jj2bw3u 5 жыл бұрын
3:05~3:09 ㅋㅋㅋㅋ엄청난 말씀이십니다
@letsque2
@letsque2 2 жыл бұрын
영상 뒷부분으로 갈수록 점점 th레드보단 쓰레드로 발음하시는데 더 듣기 편하네요 쓰레드가... ^^
@jinpk8554
@jinpk8554 2 жыл бұрын
캬! 구독 박고 갑니다 감사합니당
@omaz2590
@omaz2590 3 жыл бұрын
정말 대단한 설명 감사합니다!!
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!!
@jsim2077
@jsim2077 5 жыл бұрын
스낵면 ㅋㅋㅋ 킬링파트네요
@user-oh7mt1wy4t
@user-oh7mt1wy4t Жыл бұрын
이게 3년전 영상이라니.. 시간이 지나도 명강의네요
@yalco-coding
@yalco-coding Жыл бұрын
감사합니다!
@yoonyoung705
@yoonyoung705 3 жыл бұрын
라면 예제 너무 재밌고 이해 쏙쏙입니다 ㅠㅠ👍 적게 일하고 많이 버세요
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다 ㅠㅠ
@user-zj7nk1pl4n
@user-zj7nk1pl4n 4 жыл бұрын
운영체제 공부중인데 대박 유용한것 같습니다. 감사합니다.
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!!
@minguero
@minguero 3 жыл бұрын
프로세스 = 컴퓨터가 실행되는 상태 컴퓨터는 여러개의 프로세스를 소유하고 동시적, 병렬적으로 실행 1. 동시적: 컴퓨터가 프로세스를 차례대로 빠르게 돌아가면서 프로세스들을 마치 동시에 실행되는것처럼 실행 2. 병렬적: 동시적 프로세스가 과부하가 되기 때문에 여러개의 코어로 프로세스 동시 실행 쓰레드 = 프로세스 안에서 실행되는 여러개의 작업들. 프로세스 내에서 같은 메모리를 사용함. 하지만 쓰레드가 같은 메모리를 수정한다면 적용되지않는 에러가 발생. 해결법: 한 쓰레드가 작업을 진행할때 다른 쓰레드에게 대기 명령을 내리는 프로그램 사용 (ex: java => synchronize) 좋은 정보 감사합니다!
@soominshin4330
@soominshin4330 5 жыл бұрын
매 영상 다 너무 유용하고 재밌어요 크항!!! 감사해요! DB 관련해서도 한번 다뤄주실 수 있나요? ㅠ.ㅠ 개념 이해하기 넘 좋을 것 같습니다!
@yalco-coding
@yalco-coding 5 жыл бұрын
감사합니다! 데이터베이스도 머지않아 다룰 계획이에요 ^^ 잘 준비해서 만들도록 할게요!
@soominshin4330
@soominshin4330 5 жыл бұрын
얄팍한 코딩사전 기대할게요😊😊
@user-ix1ql4jv4w
@user-ix1ql4jv4w 2 жыл бұрын
와 이해쏙쏙..
@donaldlee247
@donaldlee247 2 жыл бұрын
ㄹㅇ국비학원 강사없이 얄코 정주행 쫙 틀어주면 그게 더 유익한 시간일듯 개발입문자들 시청각자료로 0티어
@sorinuriify
@sorinuriify 4 жыл бұрын
아놔 이채널 대박이네
@user-xg3em9sm6e
@user-xg3em9sm6e Жыл бұрын
run부분 코드 쭉 쓰고 synchronized 블록 처리는 나중에 임계영역 접근하는 곳에 해주면 되는 듯
@user-sn1ud7wy9v
@user-sn1ud7wy9v 4 жыл бұрын
좋은 영상 잘 보고있습니다 ㅎㅎㅎ
@yalco-coding
@yalco-coding 4 жыл бұрын
감사합니다!!!
@minholee7084
@minholee7084 3 жыл бұрын
얄코형 이런 cs지식 많이 많이 올려주세용❤️
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!
@joon1996
@joon1996 Жыл бұрын
로멘스물이 에로물이 된다라.. 정말 조심해야겠네요!!
@jimlee3354
@jimlee3354 3 жыл бұрын
설명 최고에여
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!!
@heecholkim694
@heecholkim694 3 жыл бұрын
영상 질이 차원이 다릅니다. 천천히라도 좋으니 계속 만들어주세요.. ㅠ
@shcho213
@shcho213 5 жыл бұрын
키야 ~ 쏙쏙 들어옵니다
@yalco-coding
@yalco-coding 5 жыл бұрын
감사합니다!
@user-yi4ch3sw4e
@user-yi4ch3sw4e 2 жыл бұрын
개그맨이신가요?? 지식+ 재미까지
@shinko8464
@shinko8464 3 жыл бұрын
구독 바로 박았습니다. 감사합니다
@yalco-coding
@yalco-coding 3 жыл бұрын
감사합니다!
@user-wk7nc5gr4e
@user-wk7nc5gr4e 3 жыл бұрын
라면끓이는 쓰레드 실제로 코딩햐서 눈으로 보여주는 그는 도덕책
@Jason-ii8hp
@Jason-ii8hp 3 жыл бұрын
한번씩 흘려들어봤지만 무슨말인지 몰랐던것 알려주셔서 좋아요! 근데 설명이 자바에 초점돼서 저는 잘 모르겠네요 ㅠㅠ 파이썬 c 자바스크립트 공부했는데 자바도 신택스정도는 공부해야할까요?
@shingookang6396
@shingookang6396 4 жыл бұрын
이 채널을 이제 알았다니..
@user-sn1ud7wy9v
@user-sn1ud7wy9v 4 жыл бұрын
4:59 스낵면이에요ㅋㅋㅋㅋㅋ
@sbl6362
@sbl6362 Жыл бұрын
이 댓글을 발견하셨다면, 아래에서 이번에 다룬 얄팍사전님의 프로세스와 스레드에 대한 영상내용을 함께 정리해보고 추가적인 내용을 알아봐요! 프로세스와 스레드 - 프로세스와 스레드는 프로그램을 실행하는 데 있어 결코 빠져서는 안되는 필수 요소에요. 이것들은 아래와 같이 짧게 정의할 수 있어요. 짧게 읽어보고 아래에서 좀 더 자세히 살펴보도록 해요. - 프로세스 : 운영체제로부터 시스템 자원을 할당받는 작업의 단위 (메모리에 올라와 실행되고 있는 프로그램의 인스턴스) - 스레드 : 프로세스가 운영체제로부터 할당받은 자원을 이용하는 실행 흐름의 단위 (프로세스 내에서 실행되는 여러 흐름의 단위) === Program : 프로세스 설명을 위해서, 프로그램이 무엇인지 알고 넘어가야 해요. 아래 정리를 보고 프로그램이 뭔지 확인하도록 해요. - 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태인 어떤 작업을 위해 실행할 수 있는 파일 - 즉, 어떤 작업을 위해 실행할 수 있는 파일이지만 아직 실행되지 않은 파일 그 자체 - 메모리에 올라가있지 않다는 말은, 아직 운영체제가 프로그램에게 독립적인 메모리 공간을 할당해주지 않았다는 뜻이에요. 모든 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해 줘야 실행될 수 있어요. - 정적인 상태라는 말은, 단어 그대로 움직이지 않는 상태라는 뜻이에요. 한 마디로 아직 실행되지 않고 가만히 있다는 뜻이에요. === Process : 프로세스는 위에서 운영체제로부터 시스템 자원을 할당받는 작업 단위라고 했어요. 좀 더 알아보도록 해요. - 실행 파일(프로그램)에게 의미를 부여하기 위해서는 프로그램을 실행해야 해요. 프로그램을 실행하는 순간 해당 파일은 컴퓨터 메모리에 올라가게 되는데, 이 상태의 프로그램을 프로세스라고 말해요. - 프로그램을 실행하려고 운영체제로부터 시스템 자원을 할당받기 때문에, 운영체제로부터 할당받는 작업의 단위구나" 라고 이해하면 되요. - 프로그램이 실행되어 파일이 컴퓨터 메모리에 올라간 상태를 동적인 상태라고 말해요. 즉, 프로세스는 실행되고 있는 동적 상태의 프로그램이에요. - 프로세스는 운영체제로부터 여러 시스템 자원을 할당받아요. - 각 프로세스는 최소 하나의 스레드를 가져요. 스레드가 무엇인지는 곧 다룰거에요. - 각 프로세스는 별도 주소공간에서 실행되며, 일반적으로 다른 프로세스의 변수나 자료구조에 접근할 수 없어요. 왜냐하면 각 프로세스는 독립적이기 때문이에요. - 하지만, 커널 영역에서 프로세스들끼리도 서로 데이터를 주고받는 방법이 존재하긴 해요. 그게 바로 IPC(Inter Process Communication)에요. === Thread : 스레드는 위에서, 프로세스 내에서 실행되는 작업의 여러 흐름단위라고 언급했어요. 조금 더 자세히 알아보도록 해요. - 유튜브로 비유해보자면, 우리는 영상을 다운받을 수도 있어야하고 동시에 영상을 볼 수도 있어야 해요. 이렇게 한 프로세스 내에서 여러 갈래의 작업이 동시에 진행될수 있어야 하는데, 이 갈래가 바로 스레드에요. - 스레드는 프로그램을 하나의 프로세스로 실행했을 때, 프로그램 하나가 단순히 한 가지 작업만을 하게 된다는 단점을 해결하기 위해 등장했어요. - 그래서 우리는 스레드가 프로세스의 코드에 정의된 절차에 따라 실행되는 경로이자, 프로세스 내에서 실행되는 여러 흐름의 단위로 생각할 수 있어요 - 스레드는 프로세스 내에서 각각 별도의 Stack를 갖고있지만, Code, Data, Heap형식의 영역은 공유해요. 즉, 프로세스 내의 할당된 메모리공간을 스레드끼리 공유하면서 실행할 수 있다는 말이에요. 프로세스와 다르게 말이죠. - 스레드는 프로세스와 다르게 프로세스의 자원을 공유하면서 작동하기 때문에, 스레드들은 프로세스 실행 흐름의 일부가 되는 것으로 이해할 수 있어요. - 만약, 한 스레드가 프로세스 자원을 변경하면 다른 이웃 스레드(sibling thread)도 그 변경 결과를 즉시 볼 수 있어요. 서로가 같은 프로세스의 자원에 접근할 수 있으니까요. [댓글 길이가 길어서 남은부분은 해당 댓글의 답글로 달았어요!]
@sbl6362
@sbl6362 Жыл бұрын
=== 차이 구분 | Process | Thread 영역 | 운영체제에 의해 각각 독립된 메모리 영역 | 할당 프로세스가 할당 받은 메모리 영역에서 Stack영역은 따로 할당받고, Code/Data/Heap 메모리 영역은 공유 공유 | 각각 독립된 메모리 영역을 할당받으므로 다른 프로세스의 변수나 자료에 접근 불가 | 별도의 Stack영역을 가지고 있지만 Heap 메모리와 같은 영역은 서로 읽고 쓸 수 있음 오류 전파 | 각 프로세스의 메모리 영역은 서로 독립적이므로, 오류 전파의 걱정이 적음 | Code/Data/Heap 메모리 영역의 내용을 공유하므로 특정 스레드에서 오류 발생 시, 같은 프로세스 내의 다른 스레드에 영향을 미침 단위 | 운영체제로부터 시스템 자원을 할당받는 작업 단위 (운영체제 입장에서 최소 작업 단위) | 프로세스 내에서 실행되는 흐름의 단위 (CPU 입장에서의 최소 작업 단위) === Multi Process - 멀티프로세스는 하나의 응용프로그램을 여러 개의 프로세스로 구성하여 각 프로세스가 하나의 작업(태스크)을 처리하도록 하는 것이에요. - 멀티프로세스는 각 프로세스의 메모리 구분이 필요하거나, 독립된 주소공간을 가져야 할 경우 사용할 수 있어요. - 먼저, 멀티 프로세스의 장점에 대해 언급해볼게요. 1. 멀티 프로세스는 독립된 메모리 구조를 가지기 때문에, 프로세스 중 하나에 문제가 발생해도 다른 프로세스에게 치명적 영향이 확산되지 않는다는 안전성이 있어요. 2. 독립된 메모리 구조를 가짐으로 서로의 변수와 자료구조에 접근하지 못하기 때문에 동기화 작업이 별도로 요구되지는 않으나, 만약 프로세스 간 통신이 필요하면 IPC라는 복잡한 기법을 사용해야 해요. - 다음으로, 멀티 프로세스의 단점에 대해 언급해볼게요. 1. 멀티 프로세스는 멀티 스레드보다 더 많은 메모리 공간과 CPU 자원을 차지해요. 운영체제로부터 시스템 자원을 할당받는 작업 단위가 여러 개니까 더 많은 CPU 자원을 할당한다고 생각하면 되요. 2. Context Switching발생 시, 캐시 메모리 초기화 등의 무거운 작업들을 동반하여 비용과 시간이 많이 소모되는 오버헤드가 발생할 수 있어요. Context Switching은 CPU가 한 번에 하나의 프로세스만 실행 가능하기 때문에 등장한 개념이에요. 좀 더 자세히 설명하자면, CPU에서는 여러 프로세스를 돌아가면서 한 번에 하나씩 작업을 실행해요. 만약 어떠한 이유로 동작 중인 프로세스가 대기 상태로 이동해야 한다면, 다음에 이 프로세스가 다시 CPU 자원을 받아 올라왔을 때 작업을 이어서 진행해야 할 거에요. 즉, 프로세스는 대기 상태로 넘어가면서 해당 프로세스의 상태(Context)를 보관해야 해요. 같은 맥락으로, 대기하고 있던 다음 순서의 프로세스는 CPU 자원을 할당받아 동작하면서 이전에 보관했던 프로세스의 상태를 복구하는 작업이 동반되어야 하겠죠? 이런 일련의 과정이 Context Switching이에요. === Multi Thread - 멀티스레드는 하나의 응용프로그램을 여러 개의 스레드로 구성하고, 각 스레드로 하여금 하나의 작업을 처리하도록 하는 것이에요. 대표적으로 웹 서버가 있어요. - 프로그램이 시작할 때 메인 스레드가 실행되고, 메인 스레드는 작업을 처리하기 위해 새로운 스레드를 생성해요. 이들은 병렬로 실행되며, 실행이 완료되면 메인 스레드와 결과를 동기화하는 방식으로 진행되요. - 먼저, 멀티 스레드의 장점에 대해 언급해볼게요. 1. 프로세스를 생성해 자원을 할당하는 system call이 줄어들어 자원을 효율적으로 관리할 수 있어요. 즉, 시스템 자원의 소모를 줄임으로써 자원의 효율성을 증대시키고 시스템 처리량이 증가하게 되요. 2. 또, 프로세스에 비해 스레드 간 데이터를 주고 받는 것이 간단하기 때문에 통신 부담이 적고, 마찬가지로 시스템 자원 소모가 줄어들게 되요. 덕분에 스레드 사이의 작업량이 적어 Context Switching이 빨라요. 3. 프로세스에서의 Context Switching은 서로 공유하는 데이터가 없으므로 캐시가 쌓아놓은 데이터들이 무너지고, 새로 캐시 정보를 쌓아야 해요. 하지만, 스레드에서의 캐시 데이터는 스레드가 바뀌어도 공유하는 데이터가 있으므로 의미가 있어요. 그래서 Context Switching이 빠른 거에요. - 다음으로, 멀티 스레드의 단점에 대해 언급해볼게요. 1. 멀티 스레드의 경우 자원을 공유하기 때문에, 각 스레드가 같은 공유 자원의 내용에 접근하고, 수정을 가할 경우 동기화 문제가 발생할 우려가 있어요. 2. 그래서, 스레드의 공유 자원 접근에 대해 주의 깊은 설계가 필요하며, 디버깅이 까다로운 점이 있어요. 3. 다른 프로세스(프로세스 밖)에서 스레드 각각을 제어할 수 없으며, 하나의 스레드만 오류로 종료되어도 전체 스레드가 종료될 수 있어요. 4. 마지막으로 하나의 스레드만 실행중일 때에는 실행시간이 되려 지연될 수 있어요. 여러 작업을 할 목적으로 멀티 스레드를 설계했을텐데, 하나의 스레드만 동작한다면 문제가 되겠죠?
@user-bh3cx4fi2t
@user-bh3cx4fi2t Жыл бұрын
해당 댓글의 답글이 어딧어요? 아까는 본거 같은데 다시 보려니 찾을수가 없네요
@withDaddy
@withDaddy 5 жыл бұрын
아놔 에러물 심쿵했어요
@user-jackparkpot
@user-jackparkpot 2 жыл бұрын
오 쩔었따 ㅎㅎ
@user-zj8tp1hw6o
@user-zj8tp1hw6o 3 жыл бұрын
수십개의 프로세스들이 여러개의 프로세서에 각각 할당되서 착착 돌아가는데 그 프로세스 안에 또 스레드가 존재해서 프로세스를 처리하는 그런 느낌인가봐요 OS 설계한 사람들은 신인가.. 어떻게 이런걸 구현했을까
@ding-co8036
@ding-co8036 2 жыл бұрын
Thanks
@user-bn4nc2pe9k
@user-bn4nc2pe9k 4 жыл бұрын
속속들어오는 설명으로 3분 50초 까지는 행복했다 -,.-
@yalco-coding
@yalco-coding 4 жыл бұрын
ㅎㅎ 더 오래 행복하실 수 있도록 분발할게요!!
포인터가 뭐고 왜 쓰는건가요?
8:07
얄팍한 코딩사전
Рет қаралды 115 М.
Process와 Thread의 차이
19:33
널널한 개발자 TV
Рет қаралды 70 М.
Always be more smart #shorts
00:32
Jin and Hattie
Рет қаралды 41 МЛН
Я нашел кто меня пранкует!
00:51
Аришнев
Рет қаралды 1,7 МЛН
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 7 МЛН
객체지향 프로그래밍이 뭔가요?
11:21
얄팍한 코딩사전
Рет қаралды 179 М.
쿠키, 세션, 캐시가 뭔가요?
5:25
얄팍한 코딩사전
Рет қаралды 88 М.
웹개발 짜증유발자! CORS가 뭔가요?
10:09
얄팍한 코딩사전
Рет қаралды 41 М.
세션 VS. 토큰! JWT가 뭔가요?
14:52
얄팍한 코딩사전
Рет қаралды 58 М.
함수형 프로그래밍이 뭔가요?
14:07
얄팍한 코딩사전
Рет қаралды 71 М.
Chapter03 프로세스와 스레드 매우중요
19:17
널널한 개발자 TV
Рет қаралды 13 М.
#miniphone
0:16
Miniphone
Рет қаралды 3,7 МЛН
iPhone 16 с инновационным аккумулятором
0:45
ÉЖИ АКСЁНОВ
Рет қаралды 737 М.
ПОКУПКА ТЕЛЕФОНА С АВИТО?🤭
1:00
Корнеич
Рет қаралды 3,4 МЛН