Búsqueda de sitios web

javascript - Cómo compartir contexto entre hilos de trabajo


Me gustaría crear un hilo de trabajo en una aplicación de node.js y pasar el contexto actual al nuevo hilo, para poder acceder a mis variables y funciones dentro del nuevo hilo. ¿Existe alguna biblioteca que soporte eso? Y si no, ¿al menos puedo pasar una función anónima entre ellos?

Respuesta #1

No hay manera de compartir un contexto con un hilo de trabajo. Esto no es "una ideología del equipo de Node.js", en cambio es una limitación del lenguaje JavaScript, que no permite la concurrencia (como el acceso concurrente a objetos desde un hilo de trabajo).

La única excepción es que puedes compartir datos numéricos entre múltiples hilos usando un SharedArrayBuffer.

Aparte de eso, la forma de enviar datos a un hilo de trabajo o recibirlos de él es usar postMessage. Véase también la documentación completa de hilos de trabajo de Node.

Para mayor completitud: existe una propuesta en fase inicial para añadir un nuevo tipo de objeto compartible entre hilos a JavaScript. Como con todas las propuestas en fase inicial, no hay garantía de que se vaya a finalizar en absoluto ni cuánto tiempo podría llevar, pero indica que hay cierto interés en este ámbito.