نسخة الكود كما يلي:
var http = require ('http') ؛
وظيفة fib (n) {
إذا (n <2) {
العودة 1 ؛
} آخر {
إرجاع fib (n - 2) + fib (n - 1) ؛
}
}
var server = http.createserver (function (req ، res) {
var num = parseint (req.url.substring (1) ، 10) ؛
Res.Writehead (200) ؛
res.end (fib (num) + "/n") ؛
}) ؛
server.listen (8000) ؛
يوفر المثال أعلاه خدمة حساب تسلسل Fibonacci. نظرًا لأن هذا الحساب يستغرق وقتًا طويلاً للغاية وهو مؤشر ترابط واحد ، يمكن معالجة واحدة فقط عندما تكون هناك طلبات متعددة في نفس الوقت. يمكن حل هذه المشكلة من خلال child_process.fork ().
فيما يلي مثال على الموقع الرسمي. يمكن استخدام هذا المثال لفهم وظيفة الشوكة () جيدًا.
نسخة الكود كما يلي:
var cp = require ('child_process') ؛
var n = cp.fork (__ dirname + '/sub.js') ؛
n.on ('message' ، function (m) {
console.log ('Parent Got Message:' ، m) ؛
}) ؛
n.send ({hello: 'world'}) ؛
نتيجة تنفيذ مقتطف الرمز أعلاه:
نسخة الكود كما يلي:
الوالد حصلت على رسالة: {foo: 'bar'}
حصل الطفل على رسالة: {Hello: 'World'}
محتوى sub.js كما يلي:
نسخة الكود كما يلي:
Process.on ('message' ، function (m) {
console.log ('child get message:' ، m) ؛
}) ؛
process.send ({foo: 'bar'}) ؛
يحتوي كائن العملية على طريقة إرسال () في عملية الطفل ، وسوف ينشر كائن الرسالة في كل مرة يتلقى رسالة
ما هو قليل من الدوار هو أن الرسالة التي أرسلها الطفل.
بالإشارة إلى هذا المثال ، يمكننا تحسين الخدمة الأولى التي توفر بيانات Fibonacci ، بحيث يكون لكل طلب عملية جديدة منفصلة للتعامل معها.
نسخة الكود كما يلي:
var http = require ('http') ؛
var cp = require ('child_process') ؛
var server = http.createserver (function (req ، res) {
var child = cp.fork (__ dirname + '/fibonacci-calc.js') ؛
child.on ('message' ، function (m) {
res.end (m.result + '/n') ؛
}) ؛
var input = parseint (req.url.substring (1)) ؛
child.send ({input: input}) ؛
}) ؛
server.listen (8000) ؛
Fibonacci-Calc.js
نسخة الكود كما يلي:
وظيفة fib (n) {
إذا (n <2) {
العودة 1 ؛
} آخر {
إرجاع fib (n - 2) + fib (n - 1) ؛
}
}
Process.on ('message' ، function (m) {
process.send ({result: fib (m.input)}) ؛
}) ؛
بعد بدء الخدمة ، تفضل بزيارة http: // localhost: 8080/9 لحساب قيمة تسلسل Fibonacci 9.
ما سبق هو كل شيء عن هذا المقال ، أتمنى أن تنال إعجابك.