繁体   English   中英

如何启动线程以获得最小延迟

[英]How to start thread for min latency

我正在运行这个 c# 代码。

在某些时候,我必须同时将 web 请求 POST 到 3 个不同的服务器。 为此,我尽可能同时使用

// t0
System.Threading.Tasks.Task k0 = System.Threading.Tasks.Task.Run(()=>
{ 
   //web request first server  here
});
System.Threading.Tasks.Task k1 = System.Threading.Tasks.Task.Run(()=> 
{
   //we request 2nd server here
});
System.Threading.Tasks.Task k2 = System.Threading.Tasks.Task.Run(()=>
{
   //we request 3rd server here
});

// t1

我的问题是启动线程需要 13-15 毫秒。 (t1-t0) 我不太擅长 c#。 我在编写这段代码和维护它方面的大部分经验。 我可以减少启动这些线程的时间吗?

如何在HttpClient上使用PostAsync并同时等待所有任务。

var responseTask1 = client.PostAsync("http://www.example.com/1", content);
var responseTask2 = client.PostAsync("http://www.example.com/2", content);
var responseTask3 = client.PostAsync("http://www.example.com/2", content);

await Task.WhenAll(responseTask1, responseTask2, responseTask3);

我不确定它是否会像您需要的那样“同时”,但值得一试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM