我有一個1000個輸入消息的集合進行處理。我循環輸入集合並開始處理每個消息的新任務。如何限制c#中的最大並行任務數量
//Assume this messages collection contains 1000 items
var messages = new List<string>();
foreach (var msg in messages)
{
Task.Factory.StartNew(() =>
{
Process(msg);
});
}
我們能猜出多少最大的消息同時在時間(假設正常的四核處理器)得到處理,或者我們可以在限制時間處理的消息的最大數量?
如何確保此消息按照集合的相同順序處理?
如何將消息拆分爲批處理並且並行運行每個批處理? – bit