08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

notas de aula - Jerônimo C. Pellegrini<br />

13.3.1.3 Procedimentos remotos síncronos<br />

É possível executar um processo remotamente <strong>com</strong> sincronia:<br />

B> (node-init (make-node "host-B"30000))<br />

A> (define outro (make-node "host-B"30000))<br />

A> (on B (lambda () (print "Olá do outro lado!")))<br />

A string será mostrada no current-output-port do REPL no host B, e A esperará<br />

até que o processo termine em B.<br />

13.3.2 Fechos<br />

Fechos podem ser enviados para processos diferentes, <strong>com</strong> alguns cuidados.<br />

13.3.3 Exceções e processos ligados<br />

Exceções levantadas dentro de processos Termite podem ser capturadas. e tratadas.<br />

Exceções não capturadas causam a morte do processo. Quando um processo A é ligado a<br />

outro processo B, uma exceção em A se propaga para B (mas A morre de qualquer forma).<br />

13.3.4 Continuações<br />

13.3.4.1 Migração de processos<br />

Um processo pode migrar para outro nó executando o procedimento (migrate/proxy<br />

outro-no).<br />

Versão Preliminar<br />

302<br />

[ 27 de outubro de 2010 at 15:47 ]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!