멀티쓰레드

jinsuk·2023년 10월 22일
0

  • 커널모드
    • 윈도우의 핵심적인 로직들이 실행
  • 유저모드
    • 일반적인 프로그램들이 실행
  • 기아현상
    • 나머지 애들이 잘 실행이 안되는 상태
  • 물리적인 한계로 인해 코어를 더이상 빠르게 할 수 없게됨
  • cpu에다가 코어를 2개, 4개, 8개 늘리는 방향으로 cpu가 발전
  • 스레드를 무작정 늘린다고 한다면, 빙의를 한다는 거 자체가 굉장히 부하가 많이 걸리는 작업임
  • 멀티스레드 환경이라는 것은 직원들이 최대한 효율적으로 움직이게끔 만들어야 되고, 식당이 아름답게 잘 굴러가면 mmo서버도 잘 빠르게 실행이 됨
  • 스레드들은 힙영역과 데이터 영역은 공유해서 사용, 반면 스택 영역은 자신만의 스택영역을 따로 할당받음

  • 하나의 프로그램에서 두개의 스레드가 동시에 실행을 하고 두명의 직원이 어떤일을 하는지 보고싶으면 왔다갔다 하면서 볼 수 있다.
  • 단기알바와 같은느낌 ThreadPool
  • 유니티의 오브젝트 풀링과 비슷한개념인데 필요할때마다 생성하는 것이아닌 이런 pool이라는 창고에 놔뒀다가 필요하면 다시 꺼내서 사용하는 방법과 비슷
  • c샵에서는 Thread를 직접 관리할 일이 거의 없음, 웬만해서는 ThreadPool에서 제공하는 기능들을 최대한 활용하면 좋고 마찬가지로 오래 걸리는 일이라고 한다면 굳이 Thread를 만들지 않고 Task로 만들어서 시행을 해도 충분함.
  • Thread, ThreadPool, Task
    업로드중..
profile
공부기록용

0개의 댓글

관련 채용 정보