[英]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.