Nio (optimización multiproceso (resolución de problemas))
Solución (simular netty):
El primer paso: todos le dejamos procesar en el hilo del trabajador0 (inicialización y registro) para que podamos controlar su secuencia
Aviso:! ! ! Pero todavía somos llamados por el subproceso jefe anterior (cómo movilizar el subproceso de trabajo antes de que comience), y solo después de que nuestro subproceso de trabajo comience a ejecutar el método de ejecución, se ejecuta el subproceso de trabajador0. Así que tenemos que ponerlo en marcha
Paso 2: Usamos una cola para desacoplar (cola, comunicación de subprocesos)
1. Se agrega una tarea a la cola, pero la tarea no se ejecuta inmediatamente
2. Después de la selección, sacamos los elementos de la cola (queue.poll) y ejecutamos (.run) (puede estar vacío, por lo que debemos juzgar)
- Usamos wakeup (active wakeup) para seleccionar y bloquear, cuando no hay evento, selecciona bloques, pero cuando hay un evento, se despierta y se ejecuta
prueba: