vb 스레드 예제

August 2, 2019  |  No Comments  |  by admin  |  Uncategorized

이것은 어셈블리 수준 이지만 스레드에 대 한 생각을 시작할 때 에 도착 하는 것입니다. 이 예방 적 대화를 배경으로 밀어 내고 멀티 스레딩 코드를 작성할 때입니다. 이 문서에서는 현재 단순하게 콘솔 응용 프로그램을 사용합니다. 따라하려면 새 콘솔 응용 프로그램 프로젝트로 Visual Studio를 시작합니다. 스레드에 대한 정보를 제공하는 여러 속성 값을 검색할 수 있습니다. 경우에 따라 스레드의 작업을 제어 하기 위해 이러한 속성 값을 설정할 수도 있습니다. 이러한 스레드 속성에는 정적(Visual Basic에서 공유) CurrentThread 속성을 사용하여 스레드가 실행 중인 코드에서 현재 실행 중인 스레드에 대한 참조를 검색할 수 있습니다. 다음 예제에서는 CurrentThread 속성을 사용하여 기본 응용 프로그램 스레드, 다른 전경 스레드, 백그라운드 스레드 및 스레드 풀 스레드에 대한 정보를 표시합니다. 각 스레드에는 CurrentCulture 속성으로 표시되는 문화권과 CurrentUICulture 속성으로 표시되는 UI 문화권이 있습니다. 현재 문화권은 구문 분석 및 서식 지정, 문자열 비교 및 정렬과 같은 문화권에 민감한 작업을 지원하며 스레드에서 사용하는 쓰기 시스템 및 달력도 제어합니다. 현재 UI 문화권은 리소스 파일의 리소스에 대한 문화권에 민감한 리소스 검색을 제공합니다. 새 스레드가 인스턴스화되면 해당 문화권 및 UI 문화권은 새 스레드가 만들어진 스레드의 문화권 및 UI 문화권이 아니라 현재 시스템 문화권 및 UI 문화권에 의해 정의됩니다. 예를 들어 현재 시스템 문화권이 영어(미국)이고 기본 응용 프로그램 스레드의 현재 문화권이 프랑스어(프랑스)인 경우 Thread(ParameterizedThreadStart) 생성자호출을 통해 만든 새 스레드의 문화권이 기본 스레드에서 영어(미국)이며 프랑스어(프랑스)가 아닙니다.

자세한 내용은 CultureInfo 클래스 항목의 “문화권 및 스레드” 섹션을 참조하십시오. 언제든지 IsBackground 속성을 설정하여 백그라운드에서 실행하도록 스레드를 변경할 수 있습니다. 백그라운드 스레드는 응용 프로그램이 실행되는 동안 계속되어야 하지만 파일 시스템 변경 또는 들어오는 소켓 연결 모니터링과 같이 응용 프로그램이 종료되는 것을 방지해서는 안 되는 모든 작업에 유용합니다. 다중 스레드 코드에는 복잡한 스레드 조정이 필요한 경우가 많습니다. 미묘하고 찾기 어려운 버그는 다른 스레드가 동일한 데이터를 공유해야 하는 경우가 많으며 다른 스레드가 예상하지 못하는 경우 한 스레드에서 데이터를 변경할 수 있기 때문에 일반적입니다. 이 문제에 대한 일반적인 용어는 “인종 조건”입니다. 즉, 두 스레드는 동일한 데이터를 업데이트하기 위해 “경주”에 들어갈 수 있으며 결과는 “승리”하는 스레드에 따라 다를 수 있습니다. 간단한 예로 루프를 코딩한다고 가정합니다: 그러나 스레드를 시작하고 Permute 하위를 대신 시작하면 이 스레드가 ParameterizedThreadStart 대리자 대신 ThreadStart 대리자를 사용하여 만들어졌습니다.

이렇게 하면 전체 응용 프로그램이 직렬 방식으로 실행되었을 것입니다. 그러나 위의 첫 번째 코드 예제는 TestMultiThreading 서브루틴을 시작하고 계속됩니다. 운영 체제가 현재 인스턴스의 상태를 실행으로 변경하게 하고 스레드가 실행하는 메서드에서 사용할 데이터를 포함하는 개체를 선택적으로 제공합니다. 스레드를 일시 중단하거나 스레드가 이미 일시 중단된 경우 아무런 효과가 없습니다. ThreadPriority 속성에 의해 정의 되는 일정 우선 순위 수준입니다. 스레드의 우선 순위를 요청하도록 이 값을 설정할 수 있지만 운영 체제에서 이를 존중할 수는 없습니다. 다중 스레딩에서 사용되는 기본 네임스페이스는 System.Threading 네임스페이스이며 Thread 클래스는 새 스레드를 만들고 시작및 중지합니다. 아래 예제에서는 TestMultiThreading이 대리자임을 알 수 있습니다.

즉, Thread 메서드가 호출할 수 있는 메서드의 이름을 사용해야 합니다. .NET Framework 4.5 이후 버전에서 실행되는 앱의 경우 CultureInfo.DefaultThreadCurrentCulture 및 및 의 값을 설정하여 응용 프로그램 도메인에서 만든 모든 스레드에 할당할 문화권 및 UI 문화권 문화를 정의할 수 있습니다. 문화정보.기본스레드CurrentUI컬쳐 속성.

Posted in Uncategorized. Bookmark the permalink.

Comments are closed.