• 注册
欢迎加入behaviac Q&A网站。behaviac是腾讯开源组件https://github.com/TencentOpen/behaviac 官方网站:http://www.behaviac.com/,提供各种文档和教程及手册 为了您及时的获得您最新问题的评论或者回答,请提供并验证您的邮箱
欢迎来到 behaviac Q&A。 您在bbs里的问题,管理员会当下就收到通知,不要担心管理员看不到您的问题。也请在bbs里提供您的email,这样就可以第一时间收到关于回答,评论的email的通知了。 为了节省大家的时间,请表达好你的问题,提供必要上下文,版本号,平台信息,重现步骤等。

Agent实例一定要在主线程中创建吗?

0 喜欢 0 不喜欢
96 浏览
如题,我们游戏服务器主线程干完初始化工作以后就不干活了,所以游戏中一些具体的业务逻辑,都是另起的工作线程做的。所以这个怎么破?
最新提问 8月 22, 2016 用户: cooldesert (470 分)
标签修改 8月 22, 2016 用户:jonygli

1个回答

0 喜欢 0 不喜欢
Agent实例最好在主线程中创建。但是也不是必须,可根据需要把它放在自己的线程中。

在代码中可以搜索'ASSERT_MAIN_THREAD'获取详情。这里的ASSERT_MAIN_THREAD并非必须是主线程,只是要求创建agent以及加载行为树需要在相同的线程中。

至于运行btexec则可以灵活的放在各自的线程中。当然和创建及加载相同的线程也肯定是没有问题的。
最新回答 8月 22, 2016 用户: jonygli (58,410 分)
好,多谢回答。

这个ASSERT_MAIN_THREAD也是新加入的吧,我们之前使用3.3版本的时候没有报错。今天升级了下版本 就出了这个问题。
ASSERT_MAIN_THREAD很久之前就有了。3.3中应该就有。在理解其原理的基础上,可根据自己想买的实际情况灵活修改。。。
...