Jak odeslat položku pracovní podproces fondu pomocí Visual C#

Překlady článku Překlady článku
ID článku: 315460 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak odeslat metodu fondu podprocesů pro spuštění.

V prostředí .NET má každý proces fondu podprocesů, které můžete použít ke spuštění metody asynchronně.

Požadavky


Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace Service Pack:
  • Microsoft Visual Studio .NET nebo Microsoft Visual Studio 2005,
Tento článek předpokládá znalost následujících témat:
  • Visual C# programovací jazyk

Vytvořit Visual C# aplikace, které používá fondu podprocesů

  1. Spusťte Microsoft Visual Studio .NET nebo Microsoft Visual Studio 2005.
  2. Vytvořit nový projekt Visual C# Windows aplikace s názvem PoolDemo.
  3. Použití panelu Přidání ovládacího prvku tlačítko do formuláře. Výchozí název ovládacího prvku tlačítko je button1.
  4. Klepněte pravým tlačítkem myši na formulář a potom klepněte na tlačítko Zobrazit kód.
  5. Vložit následující direktivy pomocí po existující pomocí direktivy, ale před deklarace oboru názvů PoolDemo:
    using System.Threading;
    					
  6. Přepnout do návrhového zobrazení a potom poklepejte na button1. Vložte následující kód v obslužné rutině události 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. Vložte následující kód v těle třídy Form1. Metoda GetSysDirSize vypočítá celkový počet bajtů, které jsou uloženy v adresáři systému. GetSysDirSize volá jiný metodu s názvem DirSize provést výpočet.

    Poznámka: Tento úkol může trvat určitou dobu spuštění.
    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;
    }
    					

Testování ukázky

  1. Stiskněte klávesy CTRL + F5 spuštění aplikace.
  2. Jakmile se zobrazí formulář, klepněte na tlačítko. Jakmile se zobrazí okno zprávy byla pracovní položka umístěna na fronty, klepněte na tlačítko OK zavřete okno zprávy a vrátíte se do hlavního formuláře. Po krátké prodlevě velikost celkové souboru v adresáři systému je zobrazen v titulku formuláře. Délka prodlevy závisí na rychlosti počítače a počet souborů v adresáři systému. Výpočet velikosti souborů trvá místo podproces ve fondu podprocesů.

Vlastnosti

ID článku: 315460 - Poslední aktualizace: 11. prosince 2006 - Revize: 2.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Klíčová slova: 
kbmt kbhowtomaster kbsample kbthread KB315460 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:315460

Dejte nám zpětnou vazbu

 

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