官方文档有两个“线程”方案: TaskPool、Worker。
仔细阅读文档会发现,这玩意更像进程。
最大的原因是线程之间无法内存共享,相互通信只能序列化特定对象进行传递。
这不就是进程的特点额。。。
看看这个说明:
而进程和线程的区别, 在对资源拥有的方式上很明显:
都知道进程间的通信是个很麻烦的事情,只能传递一些基础类型的数据作为通信,复杂的对象、函数没法穿插调用执行,只能两边各自实现。
不过对概念的争执没啥意义,重要的是解决业务问题。
ArkTS里处理异步任务最常用的还是Promise和async/await。很多java里需要线程去做的,在ArkTS里这套组合都能解决。
如果是大剂量的计算并发或者IO并发,就只能捏着鼻子用这个所谓的“线程”了。