如何在worker_threads的子线程内部获取worker.threadId?
在Node.js worker_threads子线程内获取线程ID的方法
使用Node.js的worker_threads模块创建多个子线程时,若需要在子线程内部直接获取当前线程的ID(类似cluster模块里cluster.worker.id的用法),无需通过主线程用postMessage传递ID来实现。
直接从worker_threads模块中导入threadId,在子线程内部直接调用即可原生获取当前线程的ID:
import { Worker, isMainThread, parentPort, threadId } from 'worker_threads'; if (!isMainThread) { // 子线程内直接获取并使用线程ID console.log(`当前子线程ID:${threadId}`); }
这个threadId是Node.js原生支持的变量,在子线程环境中可直接访问,省去了主线程传递ID的冗余代码,完全满足在子线程内部获取自身ID的需求。
内容的提问来源于stack exchange,提问作者J9B10
相关产品推荐
相关产品推荐

