2015-09-10 25 views
9

düğümü'nü iplik doğası, hakkında this great answer okuduktan sonra ben parçacığı havuzu boyutunu değiştirmek için UV_THREADPOOL_SIZE sistem değişkeni ile oynamaya başladım ve ilginç bir şey buldu:Düğüm gerçekten ne kadar parçacık oluşturur?

Ben

process.env.UV_THREADPOOL_SIZE = 10; 

Ben 15 olsun set Düğüm sürecindeki iş parçacıkları (10 + 1 ana Düğüm = 11 olması gerektiğini düşündüm).

process.env.UV_THREADPOOL_SIZE = 10; 

//init thread pool by calling `readFile` function 
require('fs').readFile(__filename, 'utf8', function(err, content) {}); 

//make node not exiting 
setInterval(function() {}, 1000); 

bunu çalıştırdıktan sonra ben yazın::

ps -Lef | grep test.js | grep -v grep 

ve almak aşağıdaki sonuçları:

senaryom göz at

olegssh 4869 4301 4869 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4870 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4871 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4872 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4873 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4874 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4875 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4876 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4877 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4878 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4879 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4880 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4881 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4882 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 
olegssh 4869 4301 4883 0 15 16:38 pts/0 00:00:00 /home/olegssh/node/bin/node test.js 

sen orada görebileceğiniz gibi 15 iş parçacığı çalışıyor.

UV_THREADPOOL_SIZE = 1 ayarlıyorum, 6 iş parçacığı alıyorum.

readFile satırını açıklarsam (böylece iş parçacığı havuzu başlatılamıyor), 5 iş parçacığı alıyorum.

Bu nedenle, başlangıçta Node'un 5 iş parçacığı oluşturduğu sonucuna varıyorum. Neden 1 değil?

Bu konuda biraz ışık tutabilir mi?

Düzenleme: Yepyeni Düğümü kullanıyorum 4.0.0

cevap

9

4 ekstra iplikler for use by V8 bulunmaktadır. V8, GC ile ilgili arka plan görevleri ve derleyici görevlerini optimize etme gibi çeşitli görevleri gerçekleştirmek için bu konuları kullanır.

+0

Kısaca ve net olarak. Teşekkürler! :) – Curious