Callback

di il
4 risposte

Callback

Quali sono le tecniche utilizzate per far sì che un processo chiami una callback appartenente a un altro processo? Memoria condivisa? Socket? Ho pensato alla memoria condivisa, perché il socket richiede un thread in attesa. Oppure interrupt software (tipo INT 80)?

Grazie

4 Risposte

  • Re: Callback

    Domanda troppo approssimativa!

    Pipe, socket, memoria condivisa, sono tutti sistemi validi. Ogn'uno ha specifici utilizzi, pero'.

    Ma anche RMI, JXTA, JINI (Java), Web Services (valido per qualunque piattaforma e qualunque linguaggio), COM+/DCOM (Microsoft), CORBA (implementato in C/C++), .. almeno i primi che mi vengono in mente

    Dipende da che cosa devono fare i due sistemi.

    Gli interrupt sono l'ultima scelta: non siamo piu' ai tempi del DOS. Ora accedere a servizi cosi' interni del SO e' decisamente complicato.
  • Re: Callback

    La domanda è mal posta.

    Prima di tutto, non è detto che un processo qualunque possa attivare un altro processo qualunque e i due processi possano essere attivi in qualsiasi macchina in rete o sulla stessa macchina ... Quindi non si può parlare "genericamente" di "tecniche utili per ...".

    Se parliamo di RMI o RPC è tutta un'altra storia ... bisogna contestualizzare e la cosa si fa ampia e complessa.
  • Re: Callback

    Grazie delle risposte. Effettivamente sono stato un po' approssimativo nel porre la questione. Mi spiego meglio. Sto usando un framework che fornisce funzionalità di Publisher-Subscriver. Ho un processo (subscriver) che registra una callback al framework, la quale sarà chiamata quando qualche altro processo (publisher) pubblicherà al framework una certa cosa. E' il framework che chiama la callback del subscriver, ma io, nell'implementare questo subscriver, non creo nessun altro thread di attesa. Il subscriver ha una funzione (non bloccante) che lo sottoscrive al framework per un certo evento, e questa funzione di sottoscrizione (funzione di libreria) vuole come parametro la callback che il framework stesso chiamerà quando accadrà l'evento. Naturalmente quello che chiamo framework non è un semplice framework, ma avrà anche del codice eseguibile che fa da master. Mi interessa capire in che modo (o modi, presumo ci siano più possibilità) il framework lanci la callback (che una volta chiamata sarà un thread del mio processo).

    Grazie
  • Re: Callback

    Aggiungo che tutti i processi sono eseguiti sulla stessa macchina.
Devi accedere o registrarti per scrivere nel forum
4 risposte