Visual C# 를 사용하여 작업 항목을 스레드 풀에 제출하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 315460 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 실행을 위해 스레드 풀에 메서드를 전송하는 방법을 보여 줍니다.

.NET 환경에서 각 프로세스에는 메서드를 비동기적으로 실행하는 데 사용할 수 있는 스레드 풀이 있습니다.

요구 사항


다음은 권장되는 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩의 목록입니다.
  • Microsoft Visual Studio .NET 또는 Microsoft Visual Studio 2005
이 문서에서는 사용자가 다음 항목을 잘 알고 있다고 가정합니다.
  • 다음 Visual C# 프로그래밍 언어에

스레드 풀 사용하는 Visual C# 응용 프로그램 만들기

  1. Microsoft Visual Studio .NET 또는 Microsoft Visual Studio 2005 시작하십시오.
  2. PoolDemo 라는 새 Visual C# Windows 응용 프로그램 프로젝트를 만듭니다.
  3. 도구 상자에서를 Button 컨트롤을 폼에 추가할 수 있습니다. 기본 단추 컨트롤의 button1 이름입니다.
  4. 양식을 마우스 오른쪽 단추로 클릭한 다음 코드 보기를 클릭하십시오.
  5. 기존 사용하여 지시문 뒤에 있지만 PoolDemo 네임스페이스 선언 앞에 다음과 같은 using 지시문을 붙여넣기:
    using System.Threading;
    					
  6. 디자인 보기로 다시 전환한 다음 button1 두 번 클릭하십시오. button1_Click 이벤트 처리기에서 다음 코드를 붙여:
    private void button1_Click(object sender, System.EventArgs e)
    {
    	WaitCallback wcb = new WaitCallback(GetSysDirSize);
    	try
    	{
    		ThreadPool.QueueUserWorkItem(wcb);
    		MessageBox.Show("The work item has been placed on the queue");
    	}
    	catch (Exception ex)
    	{
    		MessageBox.Show("Error: " + ex.Message);
    	}
    }
    					
  7. Form1 클래스에 본문 내에 다음 코드를 붙여 넣습니다. GetSysDirSize 메서드는 총 시스템 디렉터리에 저장되는 바이트 수를 계산합니다. GetSysDirSize 계산을 수행하기 위해 DirSize 라는 다른 메서드를 호출합니다.

    참고: 이 작업을 실행하는 데 몇 시간이 걸릴 수 있습니다.
    private void GetSysDirSize(object state)
    {
    	long total_length = DirSize(Environment.SystemDirectory);
    	this.Text = total_length.ToString();
    }
    
    private long DirSize(string path)
    {
    	long sz = 0;
    	System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(path);
    	
    	// List files.
    	foreach(System.IO.FileInfo f in d.GetFiles())
    	{
    		sz += f.Length;
    	}
    
    	// Recurse into directories.
    	foreach(System.IO.DirectoryInfo dx in d.GetDirectories())
    	{
    		sz += DirSize(dx.FullName);
    	}
    
    	return sz;
    }
    					

예제 테스트

  1. 응용 프로그램을 실행하기 위해 Ctrl + F5를 누릅니다.
  2. 폼이 나타나면 해당 단추를 클릭하십시오. 작업 항목을 이미 배치된 큐에 메시지 상자가 나타날 때 메시지 상자를 닫고 주 폼으로 돌아가려면 확인 을 클릭하십시오. 짧은 지연 후에 시스템 디렉터리의 총 파일 크기가 폼의 캡션이 표시됩니다. 지연 길이를 컴퓨터와 시스템 디렉터리에 있는 파일 수가 속도에 따라 달라집니다. 파일 크기 계산 스레드에서 스레드 풀에서 수행됩니다.

속성

기술 자료: 315460 - 마지막 검토: 2006년 12월 11일 월요일 - 수정: 2.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
키워드:?
kbmt kbhowtomaster kbsample kbthread KB315460 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com