내 맘대로 생각(프로세스 스레드, 스레드 등등)

김주현·2021년 7월 8일
2

오늘까지 숨 딱 참고 들었는데 어질어질하다.(코딩의기술..)
2주째 뚜드러 맞았는지 회복이 느리다..

코린이가 느낀 금일 수업은 아파트의 방들과 비유해보고 싶다.

예시) 나는 이삿짐을 들고 이사를 왔다고 가정해보자

이 짐들이 너무 많아서 내 방의 두고 다른 방 2개의 옮겨 놨다. 이것을 병렬이라고 느꼈다..,,
(짐이 많이 없을경우 한 방에 넣는게 동시성이라고 생각했다..)
(동시성에 대한 하나의 예시로 내 방에 충분히 넣을 수 있는데 옆 방에 까지 내 짐들을 두었다면 그 짐을 찾기 위해 내 방에서 옆 방까지 또 가야한다. 그러므로 가는 시간이 늘어남,
고로 데이터가 적고 복잡하지 않으면 동시성 , 데이터가 많고 다른 데이터와 연결이 많이 필요하면 병렬성이 필요해 보인다.)

자 이제 내 방에서 내 짐(데이터)을 정리해보자. - 내방은 프로세스라고 생각했다.....

내방에는 스레드인 붙방이장이 있다.

프로세스라는 방 안에 스레드인 붙방이장이 있어서 짐들을 공유 할 수 있다.
그러나 중요한것만 내 붙방이장에 두고 양발등과 같은 나머지 것들과 섞지 않고 내방에 쌓아 놓는다.
(이것을 스레드와 프로세스의 공유 차이라고 생각했다.)

시간이 지나 옷들이 많아져 붙방이장을 하나더 장만해야 겠다.

내방(프로세스)에 있는 옷들과 두 개의 스레드 붙방이장과 같이 정리하니 깔끔하고 좋았다.(정리가 잘되있어 찾기에도 용이하다)
이것을 멀티 스레드라고 생각했다.....
비에 젖은 옷을 붙방이장에 걸어 놓으니 곰팡이가 펴서 옆에 붙방이장까지 곰팡이가 폈다.
멀티 스레드의 단점이라고 생각......

동시성을 위해 붙방이장이 필요한경우 ThreadpoolExecutor를 사용하라

한방만 써야하는 세입자:
옆방에서 공간이 부족하다고 발코니와 붙방이장을 달라고 한다.
(ThreadpoolExecutor)
발코니를 최대한 키워서 제공했지만 짐이 많아 큰 붙방이장을 이용하기에는 제한적이다.
(병렬성제한)

진정한 병렬성을 살리려면 concurrent.futures를 사용하라

C언어와 파이썬의 방 사용 방법이 다름,
방 사용방법에 따라 속도가 다름,,,,,

잘 모르겠다.. 현지님이 도와줘야 할듯..

Blocking vs Non-Blocking

Blocking은 글 작성 후 임시저장을 직접 눌러야 하는 방식이라고 생각...

Non-Blocking은 반대로 자동으로 임시저장

profile
잼민이개발자

0개의 댓글

관련 채용 정보