我想用async/await的方式编写一堆查询Oracle数据库的方法。由于ODP.NET似乎既不支持可等待的*Async方法,也不支持Begin/EndOperationName对,那么我该如何手动实现呢?
到目前为止,我看到的所有I/O密集型异步方法的示例都只调用.NET库中的其他异步方法,但没有解释内部是如何进行上下文切换的。文档指出,在这些情况下不会使用单独的线程,并且多线程开销显然仅在CPU密集型操作中值得。因此,我想Task.Run()不是一个选项,或者我错了吗?
到目前为止,我看到的所有I/O密集型异步方法的示例都只调用.NET库中的其他异步方法,但没有解释内部是如何进行上下文切换的。文档指出,在这些情况下不会使用单独的线程,并且多线程开销显然仅在CPU密集型操作中值得。因此,我想Task.Run()不是一个选项,或者我错了吗?
Task.Run
... 尽管不像“真正的异步”那么高效,但这应该会带来一些好处... - Yahia