1. HarmonyOS 鸿蒙Next 应用场景:读取全局配置(会动态刷新) 问题类型:多个线程,访问另一个线程中的数据(线程间无父子、兄弟关系) 2. HarmonyOS 鸿蒙Next 应用场景:写日志 问题类型:多个线程,往一个线程中写数据(线程间无父子、兄弟关系) 3. HarmonyOS 鸿蒙Next 应用场景:启动框架中的任务调度
-
HarmonyOS 鸿蒙Next 应用场景:读取全局配置(会动态刷新) 问题类型:多个线程,访问另一个线程中的数据(线程间无父子、兄弟关系)
-
HarmonyOS 鸿蒙Next 应用场景:写日志 问题类型:多个线程,往一个线程中写数据(线程间无父子、兄弟关系)
-
HarmonyOS 鸿蒙Next 应用场景:启动框架中的任务调度
-
应用场景:读取全局配置(会动态刷新)
问题类型:多个线程,访问另一个线程中的数据(线程间无父子、兄弟关系) -
应用场景:写日志
问题类型:多个线程,往一个线程中写数据(线程间无父子、兄弟关系) -
应用场景:启动框架中的任务调度
问题类型:多生产者(线程),多消费者(线程)(线程间无父子、兄弟关系)
以上目前只能使用SharedArrayBuffer来实现?
可是使用SharedArrayBuffer需要将数据序列化,我们的数据有些场景下会非常大,在1M以上。性能上会有问题。有什么好办法吗?
关于SharedArrayBuffer的原子操作,可以给个例子吗?
TaskPool的三分钟机制,之前的issue有回答说,三分钟后不一定会报错
根据硬件、task是否满载而定,可以给更详细的说明吗?
据说会有新API支持多线程间共享对象,可以提前放出接口设计,让我们评估下能否满足所有场景吗?
更多关于1. HarmonyOS 鸿蒙Next 应用场景:读取全局配置(会动态刷新) 问题类型:多个线程,访问另一个线程中的数据(线程间无父子、兄弟关系) 2. HarmonyOS 鸿蒙Next 应用场景:写日志 问题类型:多个线程,往一个线程中写数据(线程间无父子、兄弟关系) 3. HarmonyOS 鸿蒙Next 应用场景:启动框架中的任务调度的实战教程也可以访问 https://www.itying.com/category-93-b0.html
- 提供新API-Sendable单例的使用说明 需求还没交付,使用方法可能会有调整,参考思路即可
// demo.ets
@Sendable
export class Demo {
count: number = 0;
static demo: Demo = null;
static asyncLock: AsyncLock = new AsyncLock();
static async getInstace() {
return await Demo.asyncLock.lockAsync(() => {
if (Demo.demo == null) {
Demo.demo = new Demo();
}
return Demo.demo;
});
}
async setCount(count: number) {
await Demo.asyncLock.async(() => {
this.count = count;
});
}
}
// index.ets
import { Demo } from './demo.ets';
@Concurrent
async function foo() {
let demo = await Demo.getInstace();
demo.setCount(1);
}
onClick(async () => {
let demo: Demo = await Demo.getInstace();
console.log(demo.count); // 0
await taskpool.execute(foo);
console.log(demo.count); // 1
});
- 提供SharedArrayBuffer、Atomics的使用Demo 参考这个,https://juejin.cn/post/6844904152963776519
更多关于1. HarmonyOS 鸿蒙Next 应用场景:读取全局配置(会动态刷新) 问题类型:多个线程,访问另一个线程中的数据(线程间无父子、兄弟关系) 2. HarmonyOS 鸿蒙Next 应用场景:写日志 问题类型:多个线程,往一个线程中写数据(线程间无父子、兄弟关系) 3. HarmonyOS 鸿蒙Next 应用场景:启动框架中的任务调度的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html