gpt4 book ai didi

c# - 并行运行两个循环

转载 作者:行者123 更新时间:2023-11-30 21:03:35 28 4
gpt4 key购买 nike

我正在研究视频流算法。我已将整个视频分成一系列图像。现在每个图像都将根据时间进行流式传输(Image.TimeInMs 表示图像流式传输或发送的时间)。为了保持时间,我有 System.Timer.Timer 对象。

_timer = new System.Timers.Timer(250);
_timer.Elapsed += new ElapsedEventHandler(timeCounterIncrementer);
_timer.Enabled = true;

for( i =0; i<imageArray.length;i++)
{
while (timeCounter < imageArray[i].TimeInMs)
{
StreamImage();
}
}

void timeCounterIncrementer(object sender, ElapsedEventArgs e)
{
timeCounter+=250;
}

在上面的代码中,当while循环运行时定时器方法timeCounterIncrementer不会执行。我希望一方面运行计时器方法,另一方面运行 While 循环。换句话说如何并行运行 while 循环和计时器方法?

最佳答案

最近我遇到了类似的问题。至少我用 Task Parallelism (Task Parallel Library) 修复了它因为线程对我来说是 2 hard :)

如果您完成将两个循环分成方法,您可以并行调用这两个方法,如下所示:

Parallel.Invoke(() => DoSomeWork(), () => DoSomeOtherWork());

关于c# - 并行运行两个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776792/

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