何时使用Task.Run
本文关键字:Run Task 何时使 | 更新日期: 2023-09-27 18:24:07
我希望有一个后台进程(控制台应用程序)可以无限期地读取消息队列。
这是Task.Run
的正确用法吗?
do
{
Task.Run(() =>
{
using (var client = new QueueMessageClient())
{
var result = client.GetMessages();
// Do something with the resulting messages
Parallel.ForEach(result.Messages, message =>
{
});
}
});
} while (true);
不确定您要做什么,但循环可能应该在lambda内部(以及using
块内部),而不是在它周围…否则将有数千个线程读取消息队列。
Task.Run(() =>
{
using (var client = new QueueMessageClient())
{
do
{
var result = client.GetMessages();
// Do something with the resulting messages
Parallel.ForEach(result.Messages, message =>
{
});
} while (true);
}
});