gpt4 book ai didi

iPhone 多线程和 AI

转载 作者:行者123 更新时间:2023-12-03 20:29:52 25 4
gpt4 key购买 nike

我有一个 ai 循环,我想为我的 iPhone 应用程序编写它。据我了解,这个循环将花费很长时间来进行计算并阻止主应用程序。

我想将其放在不同的线程中并运行所有事件。

例如,我会有一个在玩家回合开始时调用的事件。 AI 线程会监听它并使用react。

我的ai线程与主线程通信的最佳方式是什么?我经常使用 NSNotificationcenter,但我读到一些奇怪的东西,比如它不会在正确的线程上触发事件?

通过事件(例如操作)与线程进行通信的最佳方式是什么?

最佳答案

我的建议是使用 NSOperationQueue 来执行 AI 处理操作。当用户执行操作时,创建一个 NSOperation 来处理 AI 处理以响应该事件,并将其添加到 NSOperationQueue 中。如果这些操作之间存在依赖性,或者如果您希望将处理拆分为更小的子操作,则可以将这些操作设置为仅在满足特定条件时进行处理。

放置在 NSOperationQueue 中的操作将在后台线程上运行,因此它们不会阻塞主线程。对于 UI 更新或需要在主线程上执行的其他操作,我建议使用 -performSelectorOnMainThread:withObject:waitUntilDone: 来调用操作中的方法,该方法通过 NSNotificationCenter 的 -postNotificationName:object: 发布通知。让您的 View Controller 或其他 Controller 响应这些通知,并根据您的 AI 例程的结果执行所需的操作。

关于iPhone 多线程和 AI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1739176/

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