반응형
[C# 프로그래밍 : 초보 탈출 - 스레드2]
1. 스레드 중단하기
- 예외처리를 사용하는 게 제일 좋음. 안정성을 높임
- Abort
- 함수의 종료를 보장하지 않으므로 권장하지 않음
- 강제 종료.
- Thread 변수.Abort();
- Join
- 함수의 종료할수 있게끔 보장함. 함수가 끝나는 시점에 종료.
- 동작 중인 함수의 끝까지 대기함
- Thread 변수.Join();
- Interrupt
- 함수 종료 보장하지 않음. Abort랑 비슷함
- Thread변수.Interrupt();
2. ThreadState 열거형
(myThread.ThreadState&(ThreadState.Stopped | ThreadState.Unstarted))==0
3. 스레드 동기화(Thread Synchronization)
- 스레드끼리 데이터나 변수들을 함께 공유하기 때문에 제멋대로 서로 자원을 사용한다. 따라서 한 번에 한 쓰레드만 이용할 수 있는 코드 영역인 크리티컬 섹션(Critical Section)을 만들어야 함
- 크리티컬 섹션 만들기
- lock키워드로 감싼다. lock블록이 끝나기 전까지 다른 쓰레드는 이 코드를 실행할 수 없음.
- lock(오브젝트 타입 매개변수){ 코드 작성 };
- 데드락을 발생시킬수도 있음
- 데드락 : 교착 상태. 웨이트가 동시에 생겨서 멈춰버림. 프로그램이 무거워지고 느려질 수도 있따.
- Monitor / Mutex
3. Task, Task<TResult>
- 비동기코드를 통해서 쓰레드 같은 느낌의 코드를 작성할 수 있다
- 쓰레드를 쉽게 사용하기위해 만듬
- Action delegate : Task aa = new Task(TaskMethod);
- Func delegate : Task<int> bb = Task<int>(TaskMethodParam, 10); -> TaskMethodParam(10);
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
<본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.>
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기
#C#과유니티로배우는게임개발올인원패키지Online.
반응형
'코딩 공부 > 패스트캠퍼스 게임 개발 올인원' 카테고리의 다른 글
패스트캠퍼스 챌린지 41일차 (0) | 2022.03.05 |
---|---|
패스트캠퍼스 챌린지 40일차 (0) | 2022.03.04 |
패스트캠퍼스 챌린지 38일차 (0) | 2022.03.02 |
패스트캠퍼스 챌린지 37일차 (0) | 2022.03.01 |
패스트캠퍼스 챌린지 36일차 (0) | 2022.02.28 |