gpt4 book ai didi

multithreading - 多线程任务库,Threading.Timer还是线程?

转载 作者:行者123 更新时间:2023-12-03 12:50:04 25 4
gpt4 key购买 nike

嗨,我们正在构建一个应用程序,它可以注册预定的任务。

每个任务都有一个应该执行的时间间隔
每个任务都应该有一个超时
任务数量可以是无限的,但在正常情况下约为100。

因此,我们有一个需要间隔执行的任务列表,这是最好的解决方案?

我已经考虑过给每个任务分配他们的计时器,并且当计时器到期时,将开始工作,另一个计时器会跟踪超时,因此如果超时,另一个计时器将停止线程。

感觉就像我们过度使用计时器吗?还是行得通?

另一个解决方案是为每个任务使用计时器,但是当时间流逝时,我们会将任务放在一个队列中,该队列将被执行工作的某些线程读取?

我应该寻找其他好的解决方案吗?

最佳答案

没有太多信息,但是看起来您可以将RX视为check more at MSDN.com

您可以将任务视为已生成的事件,应该以某种方式进行组合(安排)。因此,您可以执行以下操作:

  • 使用Observable.GenerateWithDisposable和您自己的Scheduler生成可取消的任务-在Rx 101 Sample上查看更多信息
  • 使用Observable.Delay延迟任务
  • 等待带有'Observable.Timeout的任务
  • 以任何可取的方式编写任务

  • 您可以再次在上述指定的链接中检查更多内容。

    关于multithreading - 多线程任务库,Threading.Timer还是线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6593560/

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