在WPF / C中按需挂起/重新启动线程#

时间:2016-05-06 16:02:32

标签: c# wpf multithreading restart suspend

在WPF应用程序中,我有一个线程池(每个线程都是对返回base64图像的REST Web服务的调用),我希望"控制"更准确地说。

这些线程是异步的,我希望能够暂停/恢复它们。

  • 使用像CancellationToken这样的东西我猜是不是一个选项,因为每个线程只是在做一个电话并等待答案。

  • 我刚看到Thread =>类暂停&重启已过时/弃用。

所以如果有人有任何建议吗?

先谢谢。

1 个答案:

答案 0 :(得分:0)

因此,由于线程的性质,您使用线程寻找的控件类型并不完全可行。线程执行由操作系统及其调度程序排队。这意味着您无法控制线程何时正在运行。但是,光纤与线程类似,不同之处在于应用程序负责调度和切换线程。光纤被理想化为单声道的协同例程,win32库对它们有一些支持。但.net框架并没有为它提供太多支持。

社区中的一些人一直在询问纤维,但他们的搜索大多没有结果。 SO post

This回答可能会引导您朝着可能帮助您旅行的方向前进。它提到为并行任务库创建自己的调度程序。

我没有多大探索这个概念,因为我还没有这个概念,但收益率回报程序设计似乎是另一种选择。