2014-04-23 19 views
5

Modifica: Questa domanda è discutibile. Ho interpretato erroneamente la data sul commit, è inclusa nelle versioni esistenti degli strumenti Go. Grazie, James!CGO filettato utilizzando Go 1.2

Sembra che la prossima versione di Go (1.3) consentirà non-Go threads to call CGO callbacks.

Mi chiedo cosa abbiano fatto in genere le persone per aggirare questa restrizione fino ad oggi.

Cioè, ho una libreria di terze parti che crea thread da sola e vorrei ottenere alcune informazioni da quei thread nel codice Go.

Un tipo di meccanismo di handoff da un thread C a un thread Go sul lato "C" del codice? Un modo per ottenere un messaggio in coda senza chiamare Go? Altre idee?

+0

Sei sicuro che questi cambiamenti sono nuovi per Go 1.3? La patch è a partire da febbraio 2013 e sembra essere stata inclusa in Go 1.1. –

risposta

0

Il commit che hai evidenziato era a partire da febbraio dell'anno scorso, che precede la versione Go 1.1. Si riferisce anche a issue 4435, che viene contrassegnato con Go1.1.

Non sono sicuro di ciò che le persone hanno fatto per aggirare la restrizione in precedenza (se fosse effettivamente possibile), ma per le ultime due versioni rilasciate del linguaggio, non è stato necessario impiegare il lavoro in giro. Ho sfruttato l'abilità in un certo numero di miei progetti senza incidenti.

+0

Hai ragione! Ho letto male la data sul commit. Pensavo fosse febbraio di quest'anno. Bene, è fantastico! – laslowh

Problemi correlati