Node.js多线程完全指南
在父线程中:
把 arr [0] 的值改为5,实际上会在两个线程中修改它。 当然,通过共享内存,我们冒险在一个线程中修改一个值,同时也在另一个线程中进行了修改。但是我们在这个过程中也得到了一个好处:该值不需要进行序列化就可以另一个线程中使用,这极大地提高了效率。只需记住管理数据正确的引用,以便在完成数据处理后对其进行垃圾回收。 共享一个整数数组固然很好,但我们真正感兴趣的是共享对象 —— 这是存储信息的默认方式。不幸的是,没有 SharedObjectBuffer 或类似的东西,但我们可以自己创建一个类似的结构。 transferList参数 transferList 中只能包含 ArrayBuffer 和 MessagePort。一旦它们被传送到另一个线程,就不能再次被传送了;因为内存里的内容已经被移动到了另一个线程。 目前,还不能通过 transferList(可以使用 child_process 模块)来传输网络套接字。 创建通信渠道 线程之间的通信是通过 port 进行的,port 是 MessagePort 类的实例,并启用基于事件的通信。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |