我正在开发一个需要执行一些光学字符识别的多线程应用程序。该应用程序的要求是它必须非常非常快地运行。
一次,我必须同时阅读 6 个不同的单词。所以我正在做的是,启动 6 个线程,一个线程专门用于读取每个单词。
但是,我想知道我是否应该更进一步,为一个单词中的每个字符启动一个线程。例如,如果我有 6 个单词并且每个单词大约有 5-6 个字符,这将意味着 30-36 个线程(对于较长的单词可能多达 50-70 个线程)。
要处理每个单独的字符,似乎需要 10-30 毫秒,每个单词总共需要 200-300 毫秒。(我需要将它降低到每个单词 100 毫秒或更短)。
哪种策略实际上会给我更好的表现?每个单词一个线程,还是每个字符一个线程?