코딩 공부/패스트캠퍼스 게임 개발 올인원

패스트캠퍼스 챌린지 38일차

잘자라는스투키 2022. 3. 2. 13:28
반응형

[C# 프로그래밍 : 초보 탈출 - 스레드1]

 

 

1. 프로세스

  • 작업관리자에서 볼 수 있음. 하나의 실행 중인 프로그램
  • 다양한 프로세스를 함께 실행시키며 멀티태스킹
  • 동시에 실행되는 것 같아 보이지만 한 프로그램이 대기하고 있는 타이밍에 다른 프로그램이 실행되는것

 

2. 스레드

  • OS가 CPU시간을 할당하는 기본 단위. 
  • 메인함수 하나 실행되는 순간 쓰레드 하나가 올라가는 것.
  • 프로세스 안에 하나 이상의 스레드로 구성

- 장점

  • 프로그램들끼리 서로 응답하거나 대화하는 걸 잘 구현 가능
  • 메모리 자원 사용 최소화할 수 있음

- 단점

  • 쓰레드 여러개 하다부면 구현하기 어려움
  • 구현하고 디버깅할 때도 어려움. 어느 쓰레드에서 언제 문제가 생겼는지 명확하게 알기가 힘들다
  • 여러개 중 단 하나의 쓰레드만 잘못 되더라하도 전체 프로세스에 문제가 발생할 가능성이 큼 -> 이때 어느 쓰레드가 잘못한지 찾기 힘듬
  • 컨택트스위칭. 작업간 전환이 빈번하게 일어나면 성능이 떨어질 수 도 있음

- 사용하는 경우

  • 서버쪽에서 클라이언트와 접속을 유지하기 위해 자주 사용함
  • 클라이언트 개발 시 더미 클라이언트를 만들어서 돌릴 때
  • 파일 읽거나 저장할때 

- 사용 예시

  • using System.Threading; 추가해야 함
           #첫번째 방법
           Thread _thread = new Thread(RunThread);
            _thread.Start();

     		#두번째 방법
            Thread _thread2 = new Thread(() => RunThread(1));
            _thread2.Start();
            
            #세번째 방법
            new Thread(() => RunThread(2)).Start();

            #네번째 방법
            Thread thread2 = new Thread(new ParameterizedThreadStart(RunThreadObject));
            thread2.Start(3); // 매개변수를 갖는 쓰레드 실행하는 방법 (object 매개변수만 넘길수 있다)

 


드디어 이제 내일이면 C#강의가 끝이 난다.

하지만 다시 한 번 들어봐야 할 것 같다..

그나저나 끝으로 갈 수록 선생님이 뭔가 강의를 대충 대충 후딱 넘기시는 것 같다..

궁금한 건 따로 검색해야 이해가 그나마 된다.

C# 강의가 끝나면 다음으로 자료구조를 공부해야겠다.

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

<본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.>

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기

#C#과유니티로배우는게임개발올인원패키지Online.

반응형