gpt4 book ai didi

multithreading - 如何在 Cappuccino 中使用多线程

转载 作者:行者123 更新时间:2023-12-04 04:26:50 24 4
gpt4 key购买 nike

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

最佳答案

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

幸运的是,有人已经为它创建了一个很好的包装器,它将从一串代码中创建一个数据 blob,并将其用作工作人员的文件。然后你会想把你的数据传递给那个新的工作人员,让它运行。

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

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

关于multithreading - 如何在 Cappuccino 中使用多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29192600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com