iOS/objective-c(++) 等同于 Windows I/O 完成端口?

标签 ios objective-c .net objective-c++ io-completion-ports

假设我想实现一个异步加载文件的方法,并以文件内容作为结果返回一些任务。在 .NET 中,我可以说:

public async Task<byte[]> GetFileContentsAsync(string path)
{
  using (var fs = File.OpenRead(path))
  using (var ms = new MemoryStream())
  { 
      await fs.CopyToAsync(ms);
      return ms.ToArray();
  }
}

在幕后,CopyToAsync 将利用 IO 完成端口来确保线程不会因空转而浪费在等待 IO 上。

在 Objective-C(++) 中有等效项吗?我可以有效地执行以下合约吗?

ppl::task<StorageBufferPtr> GetFileContentsAsync(const shared_ptr<string> path) 
{    
    ??? 
}

最佳答案

关于iOS/objective-c(++) 等同于 Windows I/O 完成端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25389912/

相关文章:

.net - 通过.NET应用程序登录到SonicWALL VPN

ios - 无法将模拟器添加到 xcode 7.3.1

objective-c - cocoa:有什么方法可以在沙箱中的另一个应用程序中执行粘贴操作

ios - 将图像文件保存在文档目录中并从中获取图像文件并显示在 Objective C 中的 View 上

ios - 来自核心数据的数据不会显示在表格单元格中(使用 FetchResultsController)

c# - 在代码中获取版本号.Net Core 3 WPF Sideload

.net - ServerGC 应用程序中的 GC 线程数非常高

ios - 如何使用uiviewcontroller实现滑出式菜单?

iOS - 仅使用声音推送通知

ios - Xcode Storyboard 问题 - 按钮栏按钮仅出现在 TableViewController 的底部