> ## Content Index
> Fetch the complete content index at: https://informatic-ar.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# مفهوم البرمجة المتوازية
- URL: https://informatic-ar.com/parallel_programming_dot_net/
- Published: 2013-10-02T08:09:40.000Z
- Updated: 2026-10-03T22:54:37.000Z
- Author: Ahmed Elsayed
- Tags: دوت نت, c++, .NET, Parallel Programming, Multithreading, #wordpress-archive, #Import 2026-10-03 20:48

###### المقالة

- [البرمجة المتزامنة](#synchronous)
- [مميزات البرمجة المتزامنة](#synchronous%5Ffeatures)
- [البرمجة المتوازية](#parallel%5Fprogramming)
- [مميزات البرمجة المتوازية](#parallel%5Ffeatures)

#### البرمجة المتزامنة

هي عملية كتابة وتنفيذ للكود بشكل متزامن بمعني ان يتم تنفيذ الكود step by step خطوة بخطوة، وهي الطريقة التقليدية في تنفيذ الاوامر واعطائها لل Processor احادي النواه كي يتم معالجتها، ويتم تنفيذ هذه التعليمات والاوامر بطريقة متزامنة\\بتسلسل بمعني ان المعالج ينفذ المهمة الاولي ثم الثانيه ثم الثالثه وهكذا.... ، في هذه الصورة توضح كيف يتعامل المعالج احادي النواه مع التعليمات

![تنفيذ متسلسل: المهمة الأولى ثم الثانية ثم الثالثة على نواة واحدة](https://informatic-ar.com/assets/images/sequential-execution.svg)

رسم توضيحي بديل للصورة الأصلية غير المتاحة.

يقوم بتنفيذها واحدة تلو الاخري.  
مثال علي كود يتم تنفيذه بشكل متزامن:

```csharp
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Application Started ");
        Thread.Sleep(2000);
        foreach (int number in (new List { 1, 2, 3, 4, 5, 6, 7, 8, 9 }))
            Console.WriteLine(number);
        Thread.Sleep(2000);
        Console.WriteLine("Application Finished ");
    }
}
```

ناتج هذا الكود

```csharp
Application Started 1 2 3 4 5 6 7 8 9 Application Finished Press any key to continue...
```

في هذا البرنامج البسيط

يتم طباعة كلمة "Application Started" علي الشاشة، وبعدها يتوقف لمدة ثانيتين، وبعدها يتم عمل حلقة تكرارية متزامنة تقوم بطباعة الارقام من 1 الي 9 بشكل متزامن اي 1 ثم 2 ثم 3 ثم 4 وهكذا,وبعدها يتوقف ثانيتين، وبعدها يتم طباعة كلمة "Application Finished" ،

هذا مايسمي بمفهوم البرمجة المتزامنة اي تنفيذ البرنامج خطوة خطوة، لايمكن لامر ان يسبق الاخر.

#### مميزات البرمجة المتزامنة

للبرمجة المتزامنة مميزات منها سهوله كتابة الكود وسهوله عمل debugging له واختباره ، وسهوله اقتناص الاخطاء وهي الطريقة التقليدية لكتابة الكود.

#### البرمجة المتوازية

البرمجة المتوازية ظهرت بعد ظهور [المعالجات المتعددة](https://ar.wikipedia.org/wiki/%D9%85%D8%B9%D8%A7%D9%84%D8%AC%5F%D9%85%D8%AA%D8%B9%D8%AF%D8%AF%5F%D8%A7%D9%84%D9%84%D8%A8?ref=informatic-ar.com) النواه ([Multi-Core Processors](https://en.wikipedia.org/wiki/Multi-core%5Fprocessor?ref=informatic-ar.com)) ليتم استخدام موارد المعالج بالكامل للحصول علي اعلي اداء لحل المشكلة ([Problem Solving](http://en.wikipedia.org/wiki/Problem%5Fsolving?ref=informatic-ar.com)) .

يتم تنفيذ الاوامر علي طريقة البرمجة المتوازية كالموضح في الصورة

[![Parallel Processing](https://informatic-ar.com/wp-content/uploads/migrated/external-15a23f6db421d080014792fecc9fbe79ad663b9f9d544665503e2fc1ad38ddc7.gif)](http://xdevlog.files.wordpress.com/2013/07/rrf1j.gif?ref=informatic-ar.com)

من الموضح في الصورة انه يتم تنفيذ التعليمات/الاوامر بصورة متوازية بمعني ان الوقت الذي تنفذ فيه المهمة الاولي هو الوقت التي تنفذ فيه المهمة الثانية والثالثه والرابعة الخ... .  
ولا شك ان هذه الطريقة تعطي اداء اعلي من طريقة البرمجة المتزامنة/التقليدية.  
مثال علي كود C# ينفذ تعليمات بشكل متوازي :

```csharp
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Application Started ");
        Thread.Sleep(2000);
        Parallel.ForEach((new List { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }),
                         (number) =>
                         { Console.WriteLine(number); });
        Thread.Sleep(2000);
        Console.WriteLine("Application Finished ");
    }
}
```

```csharp
 Application Started 1 7 8 9 10 11 12 5 6 2 3 4 Application Finished Press any key to continue...
```

في هذا البرنامج البسيط  
يتم طباعة كلمة “Application Started” علي الشاشة، وبعدها يتوقف لمدة ثانيتين، وبعدها يتم عمل حلقة تكرارية متوازية متوازية من 1 الي 12، بمعني ان الوقت الذي تنفذ فيه الحلقة الاولي نفس الوقت الذي تنفذ فيه الثانية والثالثه والرابعة والخامسة الخ.وبعدها يتوقف ثانيتين، وبعدها يتم طباعة كلمة “Application Finished” ،  
هذا مايسمي بمفهوم البرمجة المتوازية؛ اي يتم تنفيذ مجموعة من التعليمات بشكل متوازي وفي نفس ذات الوقت، ولا يتم انتظار الاولي حتي تنتهي ليتم تنفيذ الثانيه ، بل بالعكس كل الحلقات تعمل في ان واحد.

#### مميزات البرمجة المتوازية

من مميزاتها اعطاء اداء عالي من خلال استخدام كل الموارد المتوفرة. حل مشاكل كبيرة ومعقدة. اغلب محركات البحث وانظمة قواعد البيانات وانظمة التعامل مع المعلومات الضخمة تقلل من استخدام الطرق التقليدية/المتزامنة لمعالجة البيانات وحل المشكلات، بل تستخدم طرق اخري مثل البرمجة المتوازية وتستخدم مثل طرق تعدد المهام Multi-Tasking و Asynchronous Programming.  
وفي مواضيع اخري سأكتب عن تلك الطرق ان شاءالله .