Stavo svolgendo un po 'di lavoro pesante sul processore e ogni volta che ho iniziato a eseguire quel comando il mio winform si blocca che non riesco nemmeno a spostarlo fino a quando l'attività non è completata. Ho usato la stessa procedura da Microsoft ma nulla sembra essere cambiato.Come posso utilizzare async per aumentare le prestazioni di WinForms?
il mio ambiente di lavoro è Visual Studio .NET 2012 con 4,5
private async void button2_Click(object sender, EventArgs e)
{
Task<string> task = OCRengine();
rtTextArea.Text = await task;
}
private async Task<string> OCRengine()
{
using (TesseractEngine tess = new TesseractEngine(
"tessdata", "dic", EngineMode.TesseractOnly))
{
Page p = tess.Process(Pix.LoadFromFile(files[0]));
return p.GetText();
}
}
Sembra che non siete ancora familiarità con ciò che attendere fa. Ti suggerisco di leggere alcune introduzioni di base. Attendere non pianifica i thread, ad esempio. – usr