gpt4 book ai didi

c# - 多线程翻译

转载 作者:行者123 更新时间:2023-12-03 12:49:50 35 4
gpt4 key购买 nike

以下循环将英语单词“Welcome”翻译成其他两种语言。

var result = "";

foreach (var toLanguage in OtherLanguages)
{
result += LanguageUtils.Translate("Welcome", English, toLanguage);
}

return result;

LanguageUtils.Translate()是使用Microsoft Translator V2引擎的静态方法。到目前为止一切正常。除了性能。

我想知道是否可以通过在循环中使用多个线程来加快速度。因此,我不会同时翻译一种语言(就像我一样),而是同时运行多种翻译。

现在,我读了几篇有关MultiThreading的文章和教程(例如 http://www.albahari.com/threading/),但是老实说,我毕竟很困惑。那是我第一次处理多线程……也许是最后一次。因此,我希望有经验的人可以帮助我完成一些代码,向我展示如何将给定的代码片段转换为多线程方法。

非常感谢!

最佳答案

ConcurrentBag<string> results = new ConcurrentBag<string>();
Parallel.ForEach(OtherLanguages,toLanguage =>
{
results.Add(LanguageUtils.Translate("Welcome", English, toLanguage));
});

或者
ConcurrentDictionary<string,string> results = new ConcurrentDictionary<string,string>();
Parallel.ForEach(OtherLanguages, toLanguage =>
{
results.TryAdd(toLanguage, LanguageUtils.Translate("Welcome", English, toLanguage));
});

关于c# - 多线程翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8029763/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com