我正在重构一个由多个全尺寸应用程序使用的 C# 项目。此类与硬件交互,执行某些命令通常需要数百毫秒或更长时间。在许多情况下,我将前一个程序员编写的 Thread.Wait() 调用替换为 ThreadPool 调用来执行这些操作。
现在,该项目为使用它的几个项目提供的某些功能需要数百毫秒或更长时间才能执行并将值返回给程序必须使用的调用程序。我的问题是我是否可以在这个项目中使用某种机制来使这些调用在主线程以外的某个线程上执行和返回?换句话说,我想让这些方法从这个项目的角度来看是非阻塞的,而不是要求使用这些函数的其他应用程序将调用放在单独的线程中。
谢谢