核心代码
private static string PngToText()
{
DirectoryInfo directory = new DirectoryInfo(imagePath)
string text = ""
//获取文件下的文件信息
FileInfo[] files = directory.GetFiles()
int len = files.Length
List<Task> taskList = new List<Task>()
for (int i = 0
{
string filePath = files[i].FullName
taskList.Add(Task.Run(() =>
{
using TesseractEngine engine = new TesseractEngine(tesseractPath, "eng")
Pix pix = Pix.LoadFromFile(filePath)
Page page = engine.Process(pix)
text += page.GetText()
}))
}
//等待结束
Task.WaitAll(taskList.ToArray())
try
{
Directory.Delete(imagePath, true)
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.Message)
}
return handleResult(text)
}

参考
C# WaitAll 等待所有线程执行完毕_c# 等待线程结束_让梦想疯狂的博客-CSDN博客