NodeJS进程与线程管理专题测试
考察知识点
- 进程与线程概念:Node.js单线程事件循环本质、进程线程区别、进程模型特点、多进程多线程应用场景
- child_process模块:四种创建子进程方法区别、spawn使用方式、exec回调参数、fork与IPC通信
- cluster模块:工作模式、主进程工作进程判断、进程管理策略、调度策略、常用事件
- 进程间通信:IPC消息通道、通信数据限制、通信使用方法、其他通信方式
- worker_threads模块:与cluster区别、创建Worker方法、parentPort通信、数据传递方式、核心对象
- 事件循环与线程池:libuv线程池作用、线程池配置、阻塞主线程影响
- 进程管理与监控:process对象作用、process.exit使用、信号处理、优雅关闭、PM2进程守护
在Node.js中,父子进程之间最常用的通信方式是?
以下关于进程和线程区别的描述,错误的是:
关于process.exit()方法,以下说法正确的是?
child_process模块中,哪个方法最适合执行长时间运行的子进程并与之进行交互式通信?
以下代码执行后,输出结果的最大尺寸受什么参数限制?
const { exec } = require('child_process');
exec('find / -type f', (error, stdout, stderr) => {
console.log(stdout);
});
关于Node.js中进程和线程的说法,正确的是:
libuv线程池主要用于处理以下哪种类型的操作?
Node.js cluster模块的工作模式是?
在cluster模块中,判断当前进程是主进程还是工作进程应使用哪个属性?
当cluster工作进程异常退出时,以下哪种策略可以自动重启工作进程?
以下哪个方式可以正确创建一个Worker线程?
worker_threads模块与cluster模块的主要区别是?
关于child_process.spawn()方法,以下说法正确的是?
在Node.js IPC通信中,以下哪些说法正确?
cluster模块支持哪些常用事件?
worker_threads模块支持哪些数据传递方式?
关于libuv线程池,以下说法正确的是?
Node.js进程模型的特点包括哪些?
实现Node.js进程优雅关闭的关键步骤包括?
cluster模块的调度策略可以通过____________设置,其中____________表示轮询调度策略,____________表示让操作系统决定调度策略。Linux默认使用SCHED_RR策略。
worker_threads模块中,____________类用于创建工作线程,____________用于Worker与主线程通信,____________用于传递初始数据,MessageChannel用于创建专用通信通道。
child_process.exec()方法的回调函数接收三个参数:____________表示执行错误,____________表示标准输出内容,____________表示标准错误输出。当命令执行成功时,error参数为null。