이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 18422|회답: 1

[출처] C#은 스레드 스레드 사용법을 배웁니다

[링크 복사]
게시됨 2017. 3. 27. 오후 5:32:28 | | |

. .NET 프레임워크는 C#을 위한 런타임 클래스 라이브러리입니다. .NET은 멀티스레드 환경입니다. 스레드는 프로세스 내 단일 순차적 제어 프로세스입니다. 스레드는 프로세스 내의 하나의 엔터티입니다. 프로세스는 여러 스레드를 가질 수 있으며, 스레드는 반드시 부모 프로세스를 가져야 합니다.

     스레드는 일반적으로 읽기, 차단, 그리고 운영의 세 가지 기본 상태를 가집니다. 세 가지 기본 상태에서 나사의 다섯 가지 기본 연산이 도출된다. 먼저, 도출, 스레드는 프로세스 내에서 파생됩니다. 두 번째로, 스케줄링을 하고, 작업 상태에 들어갈 준비된 스레드를 선택하세요. 셋째, 차단입니다. 스레드가 실행 중 이벤트가 발생하기를 기다려야 한다면 차단됩니다. 넷째, 차단 해제(unblock)입니다. 이벤트가 시작되면 스레드가 차단 해제되어 준비 큐에 들어갑니다. 다섯째, 종료 시 스레드가 종료되고, 실행된 레지스터 컨텍스트와 스택 내용이 해제됩니다.

     새 스레드는 아직 자원을 할당하지 않은 새로 생성된 스레드 객체입니다. 따라서 start() 또는 close() 메서드만 사용할 수 있습니다.

     런 가능 상태는 start() 메서드가 실행된 후 스레드가 필요한 자원을 얻고 run() 메서드를 실행하도록 호출하는 상태를 말합니다.

     Not Runable 상태는 다음 이벤트가 발생할 때 진입하는 상태입니다. suspend() 메서드가 호출되고, sleep() 메서드가 호출되며, 스레드가 wait ()를 사용해 조건 변수를 기다리고, 스레드가 I/O를 기다리고 있습니다.

    Dead는 Run() 메서드가 반환되거나 다른 스레드가 stop() 메서드를 호출하면 스레드가 dead 상태에 들어갈 때를 말합니다. 아래는 Thread의 간단한 예시를 두 가지 소개합니다.


요약: 왜 Thread(멀티스레딩)를 사용하는가? 이는 메인 스레드가 막히는 것을 방지하기 위함이다. 많은 데이터를 처리하거나 시간이 많이 드는 메서드를 호출해야 한다면 Thread 멀티스레딩을 사용해야 한다.

본보기:


멀티스레딩 사용 미: 인터페이스가 응답하지 않습니다... 멀티스레딩이 사용되지 않기 때문입니다




이전의:"어머니 모욕 사건" 뒤에 있는 부동산 사장 우쉬에잔은 누구인가?
다음:BundleTable은 min이 있는 js와 css 파일을 불러오지 않습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com