إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    Java مثال حول Thread Pool في جافا

    في المثال التالي قمنا بإنشاء كلاس إسمه MyRunnable يطبق الإنترفيس Runnable.
    بعدها فعلنا Override للدالة run() حتى نجعل أي كائن من الكلاس MyRunnable يطبع إسمه و عدد المرات التي تنفيذه فيها كل ثانية.

    ثم قمنا بإنشاء كلاس إسمه Main, و الذي قمنا فيه بإنشاء كائن نوعه ExecutorService إسمه executor يمثل خمس نسخ من الكلاس Thread.

    بعدها قمنا بإنشاء حلقة for تعيد تنفيذ الأوامر التي بداخلها خمس مرات.
    في كل مرة سيتم جعل الكائنات الخمسة الموجودة في الكائن executor تمثل خمسة كائنات من الكلاس MyRunnable, و سيتم تشغيلهم مباشرةً.

    لاحظ أنه عند تشغيل البرنامج سيقوم بخلق خمس كائنات Thread و تشغيل كل واحد فيهم ثلاث مرات.


    MyRunnable.java
    public class MyRunnable implements Runnable {
     
        @Override
        public void run() {
     
            // هنا قمنا بإنشاء حلقة تعيد تنفيذ ما بداخلها ثلاث مرات
            for (int i=1; i<=3; i++)
            {
                // الحالي و عدد المرات التي تم تنفيذه فيها Thread هنا سيتم طباعة إسم كائن الـ
                System.out.println(Thread.currentThread().getName() +", counter = "+ i);
     
                // بعدها سيتم إيقافه مدة ثانية واحدة
                try {
                    Thread.sleep(1000);
                }
                catch(Exception e) {
                    System.out.println(e.getMessage());
                }
            }
     
        }
     
    }
    		

    Main.java
    public class Main {
     
        public static void main(String[] args) {
     
            // فقط executor يمكن الوصول إليهم من خلال الكائن Thread هنا قمنا بإنشاء 5 نسخ من الكلاس
            ExecutorService executor = Executors.newFixedThreadPool(5);
     
            // هنا قمنا بإنشاء حلقة تعيد تنفيذ ما بداخلها 5 مرات
            for (int i=1; i<=5; i++)
            {
                // و سيتم تشغيلهم MyRunnable كائنات من الكلاس executor هنا سيتم إعتبار الكائنات الخمسة الموجودة في الكائن
                executor.execute(new MyRunnable());
            }
     
            // executor في الأخير سيتم إيقاف تنفيذ أوامر الكائنات الخمسة الموجودة في الكائن
            executor.shutdown();
     
        }
    
    }
    		

    عند تشغيل البرنامج, نلاحظ أنه يطبع خمس أسطر كل ثانية.

    pool-1-thread-2, counter = 1
    pool-1-thread-4, counter = 1
    pool-1-thread-1, counter = 1
    pool-1-thread-3, counter = 1
    pool-1-thread-5, counter = 1
    pool-1-thread-2, counter = 2
    pool-1-thread-5, counter = 2
    pool-1-thread-1, counter = 2
    pool-1-thread-4, counter = 2
    pool-1-thread-3, counter = 2
    pool-1-thread-4, counter = 3
    pool-1-thread-3, counter = 3
    pool-1-thread-1, counter = 3
    pool-1-thread-5, counter = 3
    pool-1-thread-2, counter = 3
    		
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب