Come vengono implementate le eccezioni asincrone?

4

Quali modifiche devono essere apportate a un linguaggio / runtime se si desidera implementare eccezioni completamente asincrone (generate da un thread a un altro, in grado di interrompere il puro calcolo senza la necessità di eseguire il polling)? Quali problemi e sfide devono essere affrontati e come? Quale sarebbe la differenza nell'implementazione tra linguaggi compilati, JIT ed interpretati?

    
posta Martin 20.11.2016 - 20:04
fonte

1 risposta

3

Bene, questo è fondamentalmente ciò che gli interrupt sono al livello OS / interprocess.

Per un ambiente con multithreading, la tua sfida principale sarà farla funzionare con i meccanismi mutex usati per prevenire condizioni di competizione nella memoria condivisa.

La mia intuizione è che ciò si rivelerà impossibile.

Potrebbe funzionare con ambienti che non hanno memoria condivisa tra thread, come Erlang.

    
risposta data 20.11.2016 - 20:21
fonte

Leggi altre domande sui tag