Как видно из названия, почему программа или процесс Ruby порождают более одного потока?
Например, если я запустил простую программу, такую как эта:
ruby -e 'while true; end'
и затем попытался подсчитать количество потоков, которые использует эта программа, запустив:
ps -o nlwp `echo $(ps aux | pgrep ruby)`
Я получил вывод:
NLWP
2
, что означает, что процесс использует два потока.
Я использую CRuby / YARV 2.5.3 в Linux.Я также попробовал это с 2.3.8, и получил тот же результат.
Edit
С Ruby 2.6.0 кажется, что он запускает только один поток.Однако, когда я включаю JIT с использованием опции --jit
, он порождает два потока.