concurrency - ¿Patrones comunes para evitar las limitaciones de gc de subproceso local?
garbage-collection nim (1)
En mi proceso de aprendizaje de Nim, actualmente estoy estudiando los enfoques de Nim para la programación concurrente. He visto algunos comentarios sobre las limitaciones de una recolección de basura local de subprocesos (por ejemplo, here y there ), pero todavía no veo todas las implicaciones de esto.
Me pregunto si hay algún tipo de "patrones de diseño" bien establecidos en Nim, ¿cómo lidiar con estas limitaciones? ¿Tal vez es posible considerar un ejemplo típico que requiera compartir / interacción entre subprocesos y mostrar posibles soluciones idiomáticas a tal problema?
Mis propios intentos de encontrar buenas soluciones para esto no tuvieron mucho éxito hasta ahora y han conducido a esta pregunta más específica sobre TChannel
.
Una respuesta realmente amplia es: esto parece ir en contra de los principios de diseño de Nim. Nim evita por completo cualquier problema de interacción / intercambio entre subprocesos eliminando eso como una capacidad. El principio de diseño no "para el mundo". El paso asíncrono incorporado en el mensaje debería ser adecuado para.
Las limitaciones que se mencionan en los artículos a los que se hace referencia parecen ser limitaciones en el diseño o enfoque de los problemas.
También en el tiempo transcurrido desde que publicó esta pregunta, veo que ha habido una respuesta a la pregunta de TChannel vinculada. ¿Esto ha resuelto tu problema?
@ bluenote10 ¿Es posible que pueda definir mejor el tipo de problema al que se enfrenta? La forma en que parece ahora esta pregunta es muy amplia. También lo siento, no tengo el representante para responder directamente a usted.