Domanda

Da quello che posso dire, in Python e Django, i segnali sono semplicemente eventi delegati. C'è qualcosa che li differenzia funzionalmente dalla nozione tipica di eventi in C #, Java, ActionScript, ecc?

È stato utile?

Soluzione

In realtà, "segnali" sono stati in giro più a lungo degli eventi. Nel primo utilizzo, un segnale era un modo asincrono per i processi di essere avvisati che si erano verificati eventi. Poiché Unix è molto più vecchio di Django (e poiché gran parte del lavoro di Django proviene da pydispatcher, dove sono state fatte le cose originali), il nome è rimasto bloccato.

Gli eventi sono davvero segnali, potresti dire!

Altri suggerimenti

I segnali in genere hanno un'associazione con una struttura del sistema operativo e gli eventi sono in genere definiti dall'applicazione. In alcune pile di tecnologia, le cose a livello di sistema operativo potrebbero essere nascoste abbastanza bene da non fare differenza nell'API, ma in altre forse no.

Afaik Qt ha avuto la prima implementazione di segnale / slot. Documenti di Qt spiegano la metafora: " Viene emesso un segnale quando si verifica un evento particolare " . La distinzione è così sottile che la nomenclatura è stata sfocata.

Potresti anche chiedere " Perché gli eventi non sono semplicemente chiamati segnali? " ;. Differenze nella terminologia si verificano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top