Pourquoi Puma crée-t-il plusieurs PID si son multi-thread?Pourquoi Puma crée-t-il plusieurs PID si c'est un multi-thread au lieu d'un multi-processus?
Je pensais que les multiples threads existeraient dans le même processus.
Lors du démarrage de Puma sur place:
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
[22095] Puma starting in cluster mode...
[22095] * Version 3.6.0 (ruby 2.2.2-p95), codename: Sleepy Sunday Serenity
[22095] * Min threads: 1, max threads: 1
[22095] * Environment: development
[22095] * Process workers: 2
[22095] * Preloading application
[22095] * Listening on tcp://localhost:3000
[22095] Use Ctrl-C to stop
[22095] - Worker 0 (pid: 22183) booted, phase: 0
[22095] - Worker 1 (pid: 22184) booted, phase: 0
Lors de l'exécution ps aux | grep puma
:
me 22184 ... puma: cluster worker 1: 22095 [app]
me 22183 ... puma: cluster worker 0: 22095 [app]
me 22095 ... puma 3.6.0 (tcp://localhost:3000) [app]
me 22289 ... grep puma
J'ai appris sur les threads vs processus, et je pensais qu'un fil est un « chemin d'exécution à l'intérieur un processus ", alors cela m'a paru déroutant.