جولة Go التفاعلية بالعربي › التزامن 7 / 7 السابق التالي

مسارات التنفيذ الخفيفة (Goroutines)

مسارات التنفيذ الخفيفة (Goroutines)

يُعدّ مسار التنفيذ الخفيف خيط تنفيذ خفيفًا تديره بيئة تشغيل Go.

go f(x, y, z)

يبدأ مسار تنفيذ خفيفًا جديدًا يشغّل

f(x, y, z)

يجري تقييم f وx وy وz في مسار التنفيذ الخفيف الحالي، ويجري تنفيذ f في مسار التنفيذ الخفيف الجديد.

تعمل مسارات التنفيذ الخفيفة في فضاء العناوين نفسه، لذا يجب مزامنة الوصول إلى الذاكرة المشتركة. توفر حزمة sync بدائيات مفيدة، مع أنك لن تحتاج إليها كثيرًا في Go لوجود بدائيات أخرى. (انظر الشريحة التالية.)

النص الأصلي بالإنجليزية

Goroutines

A goroutine is a lightweight thread managed by the Go runtime.

go f(x, y, z)

starts a new goroutine running

f(x, y, z)

The evaluation of f, x, y, and z happens in the current goroutine and the execution of f happens in the new goroutine.

Goroutines run in the same address space, so access to shared memory must be synchronized. The sync package provides useful primitives, although you won't need them much in Go as there are other primitives. (See the next slide.)

هذا الدرس للقراءة فقط؛ جرّب المثال في الدرس التالي.

استعادة المثال الأصلي؟

ستُحذف تعديلاتك على شيفرة هذا الدرس، ويعود المثال كما ورد في الكتاب. لا يتغيّر اختيارك لمحرك التشغيل.