آموزش Multithreading در جاوا
سلام دوستان امیدوارم حالتان خوب باشد در این سری از آموزش برنامه نویسی اندروید به آموزش Multithreading در جاوا می پردازیم از مباحث مهم در برنامه نویسی جاوا Multithreading جزو یکی از مهمترین مباحث است برنامه های multi thread برنامه هایی هستند که task یا وظیفه های مختلف توسط Thread های دیگر انجام می شود و تمامی کد برنامه به صورت پشت سرهم و در یک thread انجام نمی شود برنامه هایی که در تابع main نوشته می شود تک ترد یا single thread هستند در ادامه با ما همراه باشید تا نحوه استفاده از Multithreading را یاد گیرید.
Lifce Cycle یا چرخه زندگی یک ترد همانند زیر است.
New : زمانی که ترد ایجاد می شود یا به اصطلاح born می شود در اینجا قرار خواهد گرفت تا زمانی که اجرا نشود در این حالت است.
Runnable : زمانی که یک ترد اجرا شود وارد این بخش می شود.
Waiting : زمانی که به هر دلیل یک عملیات یا ترد منتظر بماند وارد این بخش خواهد شد این وقفه می تواند برای منتظر بودن برای انجام یک عملیات دیگر باشد یا توسط متد های ترد انجام شده باشد.
Terminated یا Dead : زمانی که یک ترد به انتها میرسد یا Destroy می شود.
Thread Priorities یا اولویت تردها
هر تردی که ایجاد می شود دارای یک اولویت است اولویت های مختلفی برای ترد وجود دارد که عبارتند از :
- MAX_PRIORITY
- NORM_PRIORITY
به صورن پیشفرض تردی که ساخته می شود اولیت NORM_PRIORITY را دارد اولویت بالاتر به معنی این است که آن ترد باید زودتر اجرا شود و اهمیت بیشتری دارد.
در ادامه یک مثال ساده از ترد را برای شما قرار میدهیم.
یک کلاس به نام TestThread ایجاد می کنیم و کدهای زیر را در آن قرار می دهیم.
1 2 3 4 5 6 7 8 9 | class Multi extends Thread{ public void run(){ System.out.println("thread is running..."); } public static void main(String args[]){ Multi t1=new Multi(); t1.start(); } } |
ابتدا یک کلاس به نام Multi از نوع Thread ایجاد می کنیم یک void نیز برای آن ایجاد کردیم.
مثال Thread با استفاده از Runnable
1 2 3 4 5 6 7 8 9 10 | class Multi3 implements Runnable{ public void run(){ System.out.println("thread is running..."); } public static void main(String args[]){ Multi3 m1=new Multi3(); Thread t1 =new Thread(m1); t1.start(); } } |
در بالا کلاس از Runnable گسترش یا implements شده است.
این آموزش هم به پایان رسید.
موفق باشید.