【问题标题】:How to multi-thread in Cappuccino如何在卡布奇诺中进行多线程
【发布时间】:2015-05-25 09:37:48
【问题描述】:

我有一个数据密集型 Cappuccino 应用程序,运行“作业”最多可能需要 30 秒。一个示例可能是组合来自多个数组的值以生成另一个数组以用于 TableView。我想包含一个动画进度条,这将花费超过一秒或 2 秒,但我似乎阻止了主(主)线程,因此看不到任何活动。即控制台消息和显示更新都等到作业完成。是否可以在后台线程上运行这样的作业,以便主应用程序(包括进度条)可以在此过程中更新和显示?

【问题讨论】:

    标签: multithreading cappuccino objective-j


    【解决方案1】:

    Javascript 没有线程或共享内存。您可以使用 webworker API 并行执行代码。 Web Worker 的普遍问题是在 Worker 中运行的代码必须在单独的文件中。

    幸运的是,有人已经为它创建了一个很好的包装器,它将从一串代码创建一个数据块并将其用作工作人员的文件。然后,您需要将数据传递给该新工作人员,并让它运行。

    您可以偶尔从您的工作人员调用 postMessage() 来更新进度指示器。

    https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/basic_usage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 2010-11-03
      • 2011-05-16
      • 1970-01-01
      • 2011-05-07
      • 2011-04-01
      • 2011-05-14
      相关资源
      最近更新 更多