【发布时间】:2013-10-21 11:14:04
【问题描述】:
我正在开发一个完全非阻塞的 node.js 应用程序。
不过有一些 CPU 密集型功能:
- CryptoJS.AES 解密/加密
- uuid 创建
- 根据数据创建内容
现在我找到了一个模块来使用线程从 CPU 密集型任务中卸载事件循环: node-webworker-threads
我现在应该创建:
- 在应用启动时:每个函数一个线程,因此 AES.decrypt 是一个线程,AES.encrypt 也是如此,等等。
- 在应用程序启动时:每个函数都有一个线程池? (多少个线程?每个 CPU 核心 1 个?)
- 执行时:每个函数进入一个新线程,完成后销毁?
线程是我还没有完全理解的东西..
【问题讨论】:
-
您是否对这些函数在没有线程的情况下由 Node 处理的速度进行了基准测试?我的 MBP 每秒可以生成大约 136K (uuid-v4) 到 760K (uuid-v1) UUID,给出一个想法...
-
未进行基准测试,但我看到了使用线程来完成这些任务的机会。查看您的 MBP 结果,我将不使用线程。也许我稍后会添加它。我已经在使用集群了。感谢罗伯特的评论!
标签: javascript node.js web-worker