puerts
puerts copied to clipboard
[UE]在网络的子线程调用回调到Js,会报错,不知道是不是线程冲突
detail | 详细描述
一般不都是回到主线程回调这个吗?
试试把多线程支持打开:https://github.com/Tencent/puerts/blob/master/unreal/Puerts/Source/JsEnv/JsEnv.Build.cs#L29 ThreadSafe 改为true
已经解决了,回调回主线程就安全了 AsyncTask(ENamedThreads::GameThread, = { if (LostConnectionDelegate.IsBound()) { LostConnectionDelegate.ProcessDelegate<UObject>(nullptr); } });
投递回主线程可以,但改了这个地方,其它地方一不留神还可能回犯同样的错误。 可以试试ThreadSafe选项
好像不得行,必须回主线程才行
哦,调试那没加锁
我在调试器那处理了多线程了,帮忙试试? https://github.com/Tencent/puerts/commit/fc4fcc91d31fcb94847d5d60e28c2f1e22ec568b
好的,我晚点试下,把结果提交给你