Netty richiede l'invio nello stesso thread selezionare () che invia ritardi
-
25-10-2019 - |
Domanda
E 'possibile per Netty di creare un thread di lavoro che fa tutto il mandate per un gruppo di prese? Sembra che attualmente, i messaggi in uscita Netty messaggi a una coda e cerca di svegliare il selettore che quindi copia i dati in un buffer inutilizzato e lo invia. Questo richiede tempo. E 'possibile inviare direttamente da un thread diverso?
Soluzione
Non è possibile. Netty ha idea da quale thread un utente chiamerà write (). Pertanto, ha bisogno di una coda di richiesta di scrittura e un ciclo dedicato per eseguire operazioni di scrittura. In caso contrario, l'applicazione soffrirà dalla contesa a seconda di come un utente ha scritto il suo / la sua applicazione. Sotto carico, avente un ciclo dedicato I / O e l'esecuzione di un protocollo con pipelining sembra garantire una maggiore produttività.