HarmonyOS taskpool.SequenceRunner 拷贝传递 ArrayBuffer 出现异常

利用 ImageReceiver 从摄像头获取帧 ArrayBuffer,然后将 ArrayBuffer 传入线程池做耗时算法分析。由于 ArrayBuffer 后续还需要使用,所以设置了 setCloneList 希望拷贝传递。代码如下:

private runner: taskpool.SequenceRunner = new taskpool.SequenceRunner(); 
 
let task = new taskpool.Task(run, buffer, width, height); 
task.setCloneList([buffer]); 
let result = await this.runner.execute(task);

发现报如下错误:10200006 An exception occurred during serialization, taskpool: failed to serialize arguments.

HarmonyOS
2024-11-25 11:02:36
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple
import taskpool from '@ohos.taskpool'; 
 
@Concurrent 
function printArgs(args: number): number { 
  console.info("printArgs: " + args); 
  return args; 
} 
 
taskpool.execute(printArgs, 100).then((value: Object) => { // 100: test number 
  console.info("taskpool result: " + value); 
});

如果注释掉@Concurrent,就会报10200006 An exception occurred during serialization, taskpool: failed to serialize arguments.

分享
微博
QQ
微信
回复
2024-11-25 16:10:03
相关问题
JS调用PA出现RemoteInterfaceProxy异常
7124浏览 • 2回复 待解决
HarmonyOS拷贝拷贝
351浏览 • 1回复 待解决
HarmonyOS 文件拷贝示例
152浏览 • 1回复 待解决
HarmonyOS 相册文件拷贝
141浏览 • 1回复 待解决
HarmonyOS pixelmap深拷贝问题
933浏览 • 1回复 待解决