Posso fare riferimento a una chiusura in una discussione diversa?

1

Per quanto ne so Lua usa chiusure per incapsulare variabili locali,
beh, ho una chiamata di funzione in un thread di lavoro che passa il riferimento a una funzione di callback, e la chiamata asincrona verrà gestita dal thread principale, significa che la callback verrà eseguita anche sul thread principale. La mia domanda è, perché non so se gli accessi alle chiusure siano mantenuti dai puntatori dell'heap o dalla tabella _ENV , dovrò affrontare errori?

Ho un thread principale e un pool di thread (pool di pthread s) che il principale è responsabile per il pull degli aggiornamenti e li inserisce in pool come job.

Fin qui tutto bene, ma il problema è che a volte i lavori devono chiamare gli RPC e l'unico thread che gestisce gli RPC è quello principale. Quindi passo questa chiamata di funzione al thread principale con un callback. Ma poiché il lavoro è fatto nel pool di thread, questa chiamata RPC è racchiusa all'interno di una chiusura che contiene variabili vitali di cui ho bisogno, quindi quando viene richiamato, sono ancora accessibili?

Infine se conosci un'altra soluzione che può aiutarmi in questo mi dica, sto usando torch7 / threads

    
posta Alireza Mohamadi 06.11.2017 - 00:15
fonte

0 risposte

Leggi altre domande sui tag