مقارنة السرعة بين أشهر التقنيات ⚡️🚀 | Node.js 🟢 vs Go 🔵 (Node Clusters , Go Routines)

Поділитися
Вставка
  • Опубліковано 8 лют 2025
  • 🎓 كورس بريميوم لتعلم MERN Full-Stack
    🔥 احصل على خصم 30% خاص لمتابعي يحيى تك!
    yehiatech.stor...
    ---
    رابط كورس React في 90 دقيقة:
    • كورس أساسيات رياكت في...
    ---
    تابعوني ومتنسوش تعملوا Like وSubcribe لو مش عاملين.
    وشاركوني بآراكم في الكومنتات.
    ===
    أنا يحيى العربي مهندس برمجيات شغال بقالي أكتر من 10 سنين في المجال. هدفي في الفيديوهات اللي بنزلها اني انشر الوعي البرمجي وانقلكم خبرتي وتجاربي في السوق عشان تستفيدوا منها ومتكرروش نفس الاخطاء.
    وبتمنى التوفيق للجميع
    ===
    صفحة الانستجرام
    / yehia.tech

КОМЕНТАРІ • 71

  • @عمرعاطف-ذ6د
    @عمرعاطف-ذ6د 11 днів тому +21

    عايزين مقارنة بين node js و c#

  • @silverzprogrammer894
    @silverzprogrammer894 3 дні тому

    بعد ما شرحت الفرق بين ال single وال multi threading مش قادر امسك ايدي عن اني اديك لايك عالشرح الجميل البسيط جدا ده

    • @yehiatech
      @yehiatech  2 дні тому

      اشكرك وطبعا فيه شرح افضل وامثلة اخرى استفدت منها من رأي الناس في الكومنتات هراعي ذكرها في فيديوهات قادمة باذن الله .. وفقتم

  • @IssaHasn-k8d
    @IssaHasn-k8d 11 днів тому +1

    محتوى عربي نادر وجميل جدا 🤍🤍
    سلمت يداك يا استاذ 🤍🤍
    انشالله إلى الاعلى🤍🤍

  • @مشرفالبكري-ض4د
    @مشرفالبكري-ض4د 11 днів тому

    شكراً على المحتوي الممتاز ده.. ربنا يحفظك ويوفقك

  • @Learn_whis_me
    @Learn_whis_me День тому

    اعتقد كان النتائج هتكون اوضح و أعدل لو كانت العمليات التي تحتاج معالجة أكثر واكبر
    احسنت ،جزاك الله خيرا وربنا يبارك فيك

  • @khaledrashad867
    @khaledrashad867 11 днів тому +5

    ممكن تعمل multi thread في node js لو استخدمت ال worker thread

  • @heshamyousef4819
    @heshamyousef4819 11 днів тому +5

    Go Vs. C# Vs. JAVA ممكن مقارنة بينهم

  • @RajetAlganhMohmmed
    @RajetAlganhMohmmed 11 днів тому

    ان شاء الله هخبص ٣ثانوي واتعلم البرمجه الله المستعان😊

  • @OS-Advertising
    @OS-Advertising 11 днів тому +1

    personally i love having php as my main backend with laravel, react as my frontend; and when i need heavy computations i write a seperate service in go, or for ML or ai stuff a service in python
    i love the batteries included with laravel and love having react on the front, and also the performance & simplicity of go

    • @yehiatech
      @yehiatech  11 днів тому +2

      100% agree .. Laravel is on a different level of productivity (similar to Ruby on Rails) .. it gets things done efficiently!

    • @OS-Advertising
      @OS-Advertising 11 днів тому +1

      ​@@yehiatech indeed, especially when using inertia js, it makes it insanely easy to build web apps, it makes life easier, and the fun part is that regardless if you are using inertia or not your api is exactly the same only the response changes, if you want to return normal json you can just set a header in the request & check the header before returning the response....
      Go is also really nice perfect for writing heavy computation apis, and the syntax is very easy & simple most of your types are inferred...

  • @index1705
    @index1705 11 днів тому

    شكراً الك على المعلومات

  • @ahmedabdelmeguid1131
    @ahmedabdelmeguid1131 9 днів тому

    فيدو ممتاز جدا

  • @bahaaabdo1284
    @bahaaabdo1284 2 дні тому

    ما تشرحلنا sql + PostgreSQL فى فيديوا ولا اتنين يا بشمهندس وياريت يكون الشرح على لينكس مش ويندوز

  • @wael_orraby
    @wael_orraby 11 днів тому

    جزاك الله خيرا

  • @ninoJAckwwe
    @ninoJAckwwe 11 днів тому

    Great comparison, thx

  • @heshamyousef4819
    @heshamyousef4819 11 днів тому

    عاوزين مقارنة بين بايثون و جو

  • @عبدالمطلبحسينعبدالمطلبمحمد

    للغه go ممكن ان تؤدي فكره async باستخدام channels من خلال نظام goroutines

  • @9dvisit31
    @9dvisit31 11 днів тому

    السلام عليكم, شرح حضرتك جميل جدا و احترافي. اسمحلي اضيف تعليق بسيط.
    1- شرح حضرتك لشخص واحد شغال لوحده و بيعمل كل خطوه و يستناها تخلص عشان يروح للخطوه ال بعديها دا single thread synchronous execution.
    2- شرح حضرتك لشخص واحد شغال لوحده و بيبدل بين تنفيذ الخطاوات بدل ما يستنه كل وحده تخلص دا single thread Asynchronous execution.
    3- Multi threading هو ال اكتر من شخص بيعمل المهمه في نفس الوقت .
    شكرا جدا لحضرتك و اتمنه نشوف فيديو مقارنه بين .net و Go في سرعه ال Api.
    و السلام عليكم

    • @yehiatech
      @yehiatech  11 днів тому +1

      شكرا ليك على التعليق 🌹🚀
      وفي تحسين للامثلة في الفيديوهات القادمة باذن الله.

  • @ahmedGoodMan_00
    @ahmedGoodMan_00 День тому

    هو في حاجه غلط لو قولنا مالتي ثريد يبقي parallel وشرحك يا هندسه معناه كونكرنت فا مش هيبدأ في الثريد لأنه لو الشغل اتوزع ع كزا ثريد كدا توازي مش كونكرنت فا لو نفس الشخص مقصود بيه ثريد واحد وقام بكدا مهمه ده معناه كونكرنت لو المهمه انقسمت علي شخصين يعني توازي بغض النظر عن الاعتماد علي بعضهم من عدمه

  • @youcofrefaey3707
    @youcofrefaey3707 11 днів тому

    Great video

  • @HassanShehari
    @HassanShehari 11 днів тому

    لو تم توليد ارقام عشوائية في ملف txt وكلا اللغتين يقرأوا نفس قائمة الارقام تكون المقارنة أكثر دقة

  • @amra.mubarak2335
    @amra.mubarak2335 11 днів тому +6

    16:10
    Using multiple goroutines in Go doesn't necessarily mean the program is multithreaded

    • @aliadel1723
      @aliadel1723 11 днів тому

      دي حقيقة هو كدة عمل concurrency بس مش parallelism

    • @yehiatech
      @yehiatech  11 днів тому +3

      Agree, this is absolutely accurate! To add more detail, we can explicitly set runtime.GOMAXPROCS(n) to a value higher than 1 (by default, it matches the number of available CPU cores since Go 1.5).
      That said, my key takeaway here is: "Goroutines enable us to achieve concurrent execution and effectively utilize multiple threads when needed."
      Thanks for your comment! 🌹

    • @salmaissa3738
      @salmaissa3738 11 днів тому

      يحيى ... محتاجة اعرف عن linux اقدر من خلاله اشتغل ع الالعاب الاستراتيجية ؟؟

    • @frodo4fery
      @frodo4fery 9 днів тому

      ممكن تضيف elixir للمقارنات دي؟

  • @mq8908
    @mq8908 6 днів тому

    بس نود يتفوق من ناحية هندل اكثر من ركوست بنفس الوقت بسبب non blocking i/o

  • @MohamedRT
    @MohamedRT 11 днів тому

    misleading
    أكيد go أسرع
    لكن
    spinning up a node worker is not cheap
    لو ال process كانت heavier
    بالتأكيد ال multi-processing هيخليها أسرع ب multiplier ال cores مش أبطأ أبدا حتي مع node

  • @abbasfaeq
    @abbasfaeq 11 днів тому +1

    يا اخي العرب يسوٌن الحبه كبه ، "خير الكلام ما قل ودل"

  • @salahaitamokrane8468
    @salahaitamokrane8468 11 днів тому

    فيما يلي مجموعة من التصحيحات والتنبيهات على أبرز التعريفات أو المفاهيم التي عرضها صاحب الفيديو، مع توضيح المفهوم الصحيح لكل منها:
    ---
    1. تعريف Single-threading
    ما قيل في الفيديو:
    صوّر صاحب الفيديو الـSingle-threading على أنه تنفيذ خطوات متتالية بشكلٍ “سطحي” فقط، دون توضيح كافٍ لفكرة وجود خيط واحد مسؤول عن كل المهام.
    التصحيح:
    Single-threading يعني وجود خيط تنفيذ واحد (Thread) داخل عملية واحدة (Process). هذا الخيط مسؤول عن تنفيذ التعليمات جميعها.
    في الأنظمة التي تعتمد أسلوب Single-thread (مثل Node.js)، يمكن استخدام آلية الحدث غير المتزامن (Event Loop) للتعامل مع المهام غير المحسوبة (مثل I/O) بشكلٍ غير حاجز (Non-blocking)، لكن يظل هناك خيط وحيد مسؤول عن إدارة جميع المهام.
    إذا حصلت مهمة حسابية ثقيلة (CPU-bound) على هذا الخيط، سيصبح الخيط محجوبًا (Blocked) إلى أن ينتهي، مما يعطّل المهام الأخرى.
    ---
    2. تعريف Multi-threading
    ما قيل في الفيديو:
    قُدِّم الـMulti-threading وكأنه مجرد “تبديل سريع” بين الخطوات أثناء تنفيذها من قبل شخص واحد، في حين أشار المثال إلى وجود نفس الشخص يقوم بمهام متعددة.
    التصحيح:
    Multi-threading يعني وجود عدة خيوط (Threads) داخل نفس العملية (Single Process)، تشارك جميعها نفس مساحة الذاكرة.
    يمكن لهذه الخيوط أن تعمل بشكلٍ متزامن (Concurrent)، بل ومتوازي (Parallel) فعليًّا إذا توفرت أكثر من نواة (Core) في المعالج.
    في المثال العملي (مثل تحضير أكثر من مهمة بالتوازي)، من الأدق القول إن “كل خيط هو بمثابة شخص مستقل” داخل نفس المكان (الذاكرة المشتركة)، وليس شخصًا واحدًا يقوم بالتبديل.
    ---
    3. تعريف Multi-processing
    ما قيل في الفيديو:
    جرى تصوير الـMulti-processing على أنه دائمًا أبطأ، لأنك تحتاج إلى تقسيم للمهام وإرسال واستقبال النتائج.
    التصحيح:
    Multi-processing يعني تشغيل عدة عمليات (Processes) منفصلة، لكل عملية مساحة الذاكرة الخاصة بها.
    يتواصل كل Process مع الآخر عادة عبر قنوات اتصال بين العمليات (IPC)، مثل الرسائل أو القنوات المشتركة، وهذا يضيف بعض التكلفة (Overhead).
    قد يكون Multi-processing مفيدًا جدًا عند توزيع مهام حوسبة ثقيلة على عدة أنوية (Cores) بمعزل عن بعضها، خصوصًا في لغات أو بيئات لا تدعم تعدد الخيوط بشكل فعّال أو عند الحاجة لعزل أمني (Sandboxing).
    صحيح أن هناك تكلفة للتواصل بين العمليات، لكنها ليست بالضرورة أبطأ دائمًا، بل تعتمد على نوع المهمة. في بعض التطبيقات (مثل معالجة الصور الضخمة أو تحويل الفيديو)، قد يكون Multi-processing أسرع من Single-thread أو Multi-thread في عملية واحدة، بشرط إدارة الاتصالات والموارد بكفاءة.
    ---
    4. الخلط بين المفاهيم: Concurrency vs Parallelism
    ما قيل في الفيديو:
    الخلط بين فكرة “تنفيذ المهام بالتزامن” (Concurrency) وبين “تنفيذها بالتوازي” (Parallelism). إذ أعطى صاحب الفيديو مثال “الشخص الذي يبدل بين المهام بسرعة”، وهذا أقرب إلى Concurrency منه إلى Parallelism.
    التصحيح:
    Concurrency: قدرة النظام على التعامل مع مهام متعددة في نفس الفترة الزمنية، ولو عن طريق التبديل السريع بينها على خيط واحد أو أكثر.
    Parallelism: تنفيذ مهام متعددة في نفس اللحظة فعليًّا على أكثر من نواة معالجة، أي كل نواة تنفذ خيطًا (Thread) أو عملية (Process) بشكل متوازٍ حقيقي.
    مثال “الشخص الواحد يبدل بين المهام” هو Concurrency (لا يوجد إلا شخص واحد)، بينما “عدة أشخاص يعملون بالتوازي” هو Parallelism.
    ---
    5. الخلاصة والتصحيح الشامل
    1. Single-thread:
    خيط واحد فقط ينفذ كل المهام.
    مفيد للمهام غير الحاسوبية الثقيلة (مثل I/O) مع وجود Event Loop (كما في Node.js).
    يعاني جدًا عند وجود مهام حسابية كثيفة (CPU-bound)، لأن الخيط يتعطل.
    2. Multi-threading:
    عدة خيوط تتشارك نفس الذاكرة داخل عملية واحدة.
    جيد للمهام الحسابية الكثيفة (Parallelism) إذا دعم العتاد ذلك.
    يحتاج لإدارة تزامن (Synchronization) لحماية البيانات المشتركة.
    3. Multi-processing:
    عدة عمليات، لكل واحدة مساحة ذاكرة مستقلة.
    مفيد لتوزيع الحسابات الضخمة أو عند الحاجة لعزل الأمان.
    هناك تكلفة إضافية للتواصل بين العمليات.
    4. Concurrency vs. Parallelism:
    Concurrency: التعامل مع مهام متعددة (قد يكون عبر خيط واحد أو عدة خيوط) عن طريق التبديل السريع.
    Parallelism: تنفيذ عدة مهام فعليًّا في الوقت نفسه عبر أنوية متعددة.
    5. اختيار النموذج المناسب:
    يختلف باختلاف نوع التطبيق:
    تطبيقات I/O مثل السيرفرات التي تتعامل مع طلبات كثيرة “خفيفة الحساب” تناسبها بيئات Single-thread + Event Loop (مثل Node.js).
    تطبيقات الحوسبة المكثفة (مثل الحسابات المالية أو العلمية) تناسبها لغات تدعم الـMulti-threading أو الـMulti-processing بكفاءة (مثل Go أو Rust).
    ---
    باختصار
    الأخطاء في الفيديو تمثّلت في:
    1. حصر Single-thread بمعنى “خطوات متتالية”، دون توضيح أنّ هنالك خيطًا وحيدًا ينفذ كل شيء، ما يسبب حجبًا (Blocking) في المهام الثقيلة.
    2. توصيف Multi-threading كأنه مجرد شخص واحد يبدل المهام، والصحيح أنه عدة خيوط (بمثابة عدة أشخاص) تعمل في نفس الذاكرة.
    3. تصوير Multi-processing كأنه دائمًا أبطأ، بينما الصحيح أنه يعتمد على طبيعة المهمة.
    4. خلط بين مفهومي Concurrency وParallelism.
    هذه هي أبرز النقاط التي تحتاج إلى إعادة صياغة أو تصحيح لضمان دقة المفاهيم.

  • @MuhammadYacoub
    @MuhammadYacoub 10 днів тому

    Node.js vs python please

  • @YahyaMohamed-k6v
    @YahyaMohamed-k6v 11 днів тому +1

    ينفع حضرتك تعمل كورس C#

    • @abdalaelgendy1762
      @abdalaelgendy1762 11 днів тому

      يا هندسة اليوتيوب مليان محتوي عربي خد اي واحد

  • @MR.Rust_Carb
    @MR.Rust_Carb 11 днів тому +2

    مقارنة مع Rust

    • @aliadel1723
      @aliadel1723 11 днів тому

      Rust تعتبر low level
      مفيش مقارنة اصلا مع دول ممكن علشان تبقى مقارنة عادلة تبقى مع zig مثلا

    • @asratifamily7752
      @asratifamily7752 11 днів тому

      لا ، لغة Rust ليست low-level language ​@@aliadel1723

  • @minabupo4874
    @minabupo4874 10 днів тому

    مساء الخير ❤استاذ يحيى أنا حاسبات و معلومات و هتخصص و الكلية فيها ثلاث تخصصات ايه أفضلهم من حيث الشغل و اعلى راتب
    1 داتا ساينس
    2 روبوتكس
    3 مالتي ميديا
    و انا ميال لكله تنصحني بأيه ❤

  • @HACKER-zw3hs
    @HACKER-zw3hs 11 днів тому

    المشكلة البسيطة في multi processing انو سلاح دو حدين انك تبلش process جديدة تحتاج اشياء كتيرة و المشكلة التانية الي مدشملة node js في مقارنتك هي فكرة استخدام slice لازم عشان تكون المقارنة عادلة تستخدم نفس فكرة go و هي مشاركة الميموري (ممكنة و بإمكانك تستخدم shairdArrayBuffer)
    في نقطة تانية هي استخدامك ل reduce في node js المشكلة هو انو callback الخاص ب reduce بيتم المنادات عليه على كل element في array تخيل مليون function call لو الcall الواحد ب 0.01us فعندك (1000000*0.01us)=10000us=10ms بس في function calls 😂 طبعا 0.01 مجرد متال لا اكتر بس الفكرة هي الاهم انو node js مضلوم في المقارنة هادي و لا انكر ان go اسرع لعدة اسباب منها compilation و static types ولاكن هادا لا يلغي كون node js اسرع من الي في المقارنة وشكرا😊

  • @AhmadRushdan-e8h
    @AhmadRushdan-e8h 11 днів тому

    حلوه منك يا مهندس😂 2:00

  • @SamirAmmar-d4l
    @SamirAmmar-d4l 11 днів тому

    ممكن تستخدم bun بدل nodejs

  • @pygorithm423
    @pygorithm423 11 днів тому

    2:00
    ابعد عن صاحبك منعش يا يحيى 😂😂

  • @BadrZahran-72496
    @BadrZahran-72496 11 днів тому

    انا دلوقتي كنت عاوز اعمل موقع LMS ويكون مربوط ب AI Model
    عاوز اعرف ايه ال frameworks المناسبة للمشروع دا
    وانا عارف لو قلت react ولا angular هتبقى مقارنة خاطئة عشان هقارنهم في ايه بالظبط
    ف المهم بالنسبالي جزء back end اكتر هيبقى افضل مع Node JS ولا Django
    وخاصة انا هربط الموقع ب AI Model عشان كدا عاوز اعرف ايه المفيد في الجزء دا
    وهل الكورس بتاع حضرتك هيكون كافي انه يأهلني إني اقدر اكمل بعده ولا لأ؟ وعارف انه سؤال غريب ذوقياً ومن اتجاة Technical كمان
    بس انا بجد مشتت خالص في موضوع المصادر وكان ليا تجربة تبع تدريب الجامعة في الاجازة اللي فاتت خليتني اخاف من node js عشان مكنتش جاهز كفاية في js وكمان وقت التدريب كان 40 ساعة بس
    وانا بحاول اخلي وقتي يكون لل ai اكتر عشان دا مشروع تخرج
    فعاوز اعرف امشي ازاي في الموضوع دا حتى لو بشكل مبسط
    وشكراً 🤍

  • @islamsaied6484
    @islamsaied6484 11 днів тому

    اول مره استخدمت go كنت مستغرب فشخ اي الوحده دي 😂 انا اخر حاجه كنت اعرفها ال ms 🤦

  • @mohamedkhalilIB
    @mohamedkhalilIB 11 днів тому

    4:36 اظن انك خلطت بين ال Multithreading , Aysnchronous

    • @yehiatech
      @yehiatech  11 днів тому +1

      هو الفكرة ان الAsync ينفع يبقى شغال على Single Thread او Multi Thread بنفس المبدأ والمفهوم بتاعه .. فهي نفس الفكرة والمثال اللي انا شرحتها بس كان مفترض مني اوضح النقطة ده اكتر.
      شكرا على التنبيه للجزئية ده 🌹

    • @mohamedkhalilIB
      @mohamedkhalilIB 11 днів тому +2

      @@yehiatech
      هو احنا ممكن نظبط المثال اكتر بأن
      ال async هو مطبخ واحد سواء طباخ او اكتر
      ال multithreading أكتر من طباخ في نفس المطبخ
      ال multiprocessing أكتر من مطبخ

  • @himawael2498
    @himawael2498 8 днів тому

    يا هندسه معلش انا كنت شاري الكورس بتاع حضرتك لما كان عليه اوفر قبل رأس السنة الي هو اوفر المشتركين باجي دلوقتي اخش على يوديمي مش بلاقيه هو كان ليميتيد و لا ايه المشكله

  • @Mr_MAP_original
    @Mr_MAP_original 9 днів тому

    مهندس يحيا يمكن الايميل عايز اتواصل معاك عشان شغل

  • @brahimaitomghar7880
    @brahimaitomghar7880 11 днів тому

    bun v 1.2 better so so far

  • @aymanelkhouly
    @aymanelkhouly 10 днів тому

    Why you're not using BunJs

    • @yehiatech
      @yehiatech  10 днів тому +1

      Will do it in another comparison

  • @heshamyousef4819
    @heshamyousef4819 11 днів тому

    GO Vs. Python

  • @3boodsenpai680
    @3boodsenpai680 9 днів тому

    يحيى بحاول اشتري الدورة من يودمي بس مش نازل عليها خصم ال30% ليش؟

    • @yehiatech
      @yehiatech  9 днів тому

      ده لينك الخصم
      yehiatech.store/mern

  • @Maystro_eg
    @Maystro_eg 11 днів тому

    🤣

  • @hammeedabdo.82
    @hammeedabdo.82 11 днів тому

    لكن لاتنسى انه يمكن تحسين وتقليل زمن الاستجابة بطرق مختلفة، في الفترة الاخيرة تحسن اداء الجافاسكربت بشكل افضل وظهر عندك بون من جافا سكربت سرعته رهيبة وصارت جافا سكربت قريبة من جو نوعاما ومازالت في تحسن، لكن تبقى لغة جو في الاداء والسرعة والتزامن وتعدد المهام الاولى وخاصة في الميكروسيرفيسس والانظمة الموزعة..مشكور على المقارنة.

    • @yehiatech
      @yehiatech  11 днів тому

      نعم صحيح .. لذلك انا كنت دقيق وكتبت Node.js في المقارنة حتى لا يختلط الامر على الناس انها مقارنة عامة.
      شكرا على الاضافة وبالتوفيق لكل خير 🌹

  • @CPP_malloc
    @CPP_malloc 11 днів тому +2

    انت إنسان كويس جداً وكل ما اكون شغال واحب استمع ل بود كاست جنبي بشغل فيديوهاتك، لكن مع احترامي محتاج اعدل اكتر من معلومه.
    اولا المثال الخاص بتحضير الأكل ده مش مناسب، كمان فعليا الفرق بين ال threads وال processes في أنظمة التشغيل بتخلتف.
    اولا ال multi process ده خاصيه في نظام التشغيل بيحققها بأن ال process loader ياخد ال process ويحطها في الرام ومعاها "sections" الخاصة بالبروسيس بما فيهم ال dynamic linkage table, وبيقوم نظام التشغيل بالتبدبل بين ال process المختلفه بأنه يحفظ ال context ل بروسيس ويعمل ليها suspend و يروح ل التانيه سواء المعالج multi core او لا، لكن في حالة انه كان multi core وليكن two cores في الحاله دي بيكون two processes شغالين at a time.
    اي مشكله بتحصل من بروسيس وتبعت exception سواء ثاني او ثالث ل ال CPU نظام التشغيل بيعمل halt ليها كلها.
    فا لو انا عندي بروجيكت multi process و process واحده حصل فيها مشكله هي فقط اللي بيحصل ليها halting بدون ما يأثر علي باقي ال processes
    اما ال multi threaded بتكون process واحده ايضا ال loader بيحدد لكل thread affinity level زيها زي ال بروسيس وحتي كمان ليها stack section منفصل "اذا اردت" لكن
    ١- كل ال threads ليهم access علي كامل ال process section
    ٢- اي thread تعمل general fault exception علي ال CPU البروسيس كلها بتقف بما فيهم باقي ال threads اللي تحت نفس ال process.
    اما طريقه توزيع التشغيل علي ال cores نفس تماما ال multi process مع تحديد ال affinity level زي ما تحب وتطلب من ال OS.
    ثاني موضوع بما أني مش مبرمج ويب لكن علي حد معرفتي ان node js multithreaded ده اللي قرأته من ال documentation الخاص بيهم من مدة طويله لو ذاكرتي ما خانتنيش.
    اخر نقطة وهي أن ال coroutines شيء و ال multithreading شيء اخر تماما.
    ال coroutines مش multithreaded ال coroutine كأنك بتروح ل داله تعمل ليها call وتخليها وليكن تشتغل عند نصها وترجع نتيجه وبعد كده بنفسك تعمل ليها call تاني وتكمل النص الثاني، بمعني اخر كأن عندك دالتين عملت call ل الاولي اخدت منها نتيجه وبعد كده عملت call ل الداله التانيه تاخد منها نتيجه تانيه، الفرق إننا أحيانا بنفضل نحط الدالتين في داله واحده لما يكون النصف الثاني بيخرج نتيجه معتمده علي النصف الأول، أيضا بنسميها state machine، لان داخل ال coroutine function بيكون فيه زي متغير بيحتفظ بقيمه تحددلي المكان اللي الداله وقفت عندها، عشان لما اعمل call ليها تاني تعرف هاتشتغل من اي نقطه.
    أيضا فيه فرق بين ال multithreading وال coroutines و حاجه إسمها future اللي تقدر تاخدها من promise شغال في thread آخر عشان تاخد signal ل الانتهاء او نتيجه حاصل ليها ready، وممكن تعمل ليهم implementation بنفسك باستخدام ال condition variables عشان تعمل broadcast ل النتيجة.
    تحياتي ليك وبالتوفيق ليك جدااا وبحب محتواك.

    • @yehiatech
      @yehiatech  11 днів тому +1

      شكرا جدا على الاضافة والمشاركة .. اضافة ثرية وانا اقرأ واستمتع بهذه الكومنتات وبتضيفلي وجهات نظر وبعد جديد للمواضيع .. حيث ان كل واحد بيتعلم اشياء ويسمع من وجهات نظر مختلفة .. وفقنا الله واياكم لكل خير ❤️🌹

    • @CPP_malloc
      @CPP_malloc 11 днів тому

      @yehiatech
      متشكر جدااااا علي ردك المتوقع من إنسان راقي وذو خبره كبيره في المجال ♥️
      إحنا دائماً هانفضل نتعلم لآخر لحظة Bjarne Stroustrup بنفسه لما اتسأل في احد المؤتمرات عن مستواه في لغة البرمجة اللي هو مؤسس ليها "C++" قال 7/10 وعمري ما قابلت شخص عملاق بلقب عالم في شركة كبيره زي إنتل او غيره وكان بيقيم مستواه اكتر من 80% وفي مجال محدود حتي.
      بالتالي دائما هانفضل نتعلم من بعض زي ما أنا بتعلم من فيديوهاتك.
      إلي الأفضل دايما وبالتوفيق ليك.

  • @IssaHasn-k8d
    @IssaHasn-k8d 11 днів тому

    محتوى عربي نادر وجميل جدا 🤍🤍
    سلمت يداك يا استاذ 🤍🤍
    انشالله إلى الاعلى🤍🤍

  • @IssaHasn-k8d
    @IssaHasn-k8d 11 днів тому

    محتوى عربي نادر وجميل جدا 🤍🤍
    سلمت يداك يا استاذ 🤍🤍
    انشالله إلى الاعلى🤍🤍

  • @IssaHasn-k8d
    @IssaHasn-k8d 11 днів тому

    محتوى عربي نادر وجميل جدا 🤍🤍
    سلمت يداك يا استاذ 🤍🤍
    انشالله إلى الاعلى🤍🤍