✨موضوع -> Thread در جاوا چیست؟
در جاوا، Thread یک واحد مستقل از اجرای یک برنامه است که به برنامه امکان انجام چند کار همزمان (چند نخی) را میدهد. به عبارت دیگر، هر Thread یک مسیر جداگانه از اجرای برنامه است. استفاده از چندنخی (Multithreading) به شما کمک میکند تا برنامههایتان را کارآمدتر و پاسخگوتر کنید.
🛠️ کاربردهای Thread:
انجام کارهای همزمان: مثل بازیهای کامپیوتری که باید گرافیک، ورودی کاربر و منطق بازی را به طور همزمان مدیریت کنند.
مدیریت درخواستهای همزمان: مثل سرورهای وب که باید به چندین کاربر به طور همزمان پاسخ دهند.
بهبود عملکرد: با تقسیم وظایف سنگین به بخشهای کوچکتر و انجام آنها به صورت موازی.
📅 چه مواقع و چگونه از Thread استفاده میکنیم؟
مواقعی که برنامه نیاز به انجام چندین کار همزمان دارد: مثلاً خواندن و نوشتن فایل به طور همزمان.
برای بهبود کارایی در وظایف سنگین: مانند پردازش دادههای بزرگ.
🌟 تفاوت StringBuffer و StringBuilder در بحث چند نخی
🌟روش های پیاده سازی Thread
🌟 اما خب یک روش دیگر برای پیاده سازی ساده تر از Thread وجود دارد
پیاده سازی با استفاده از روش لامبدا (Lambda Expression)
این روش به شما اجازه میدهد تا کد را به صورت فشردهتر و خواناتر بنویسید. از جاوا 8 به بعد، میتوانید از لامبدا برای پیادهسازی رابطهای تابعی (functional interfaces) مانند Runnable استفاده کنید.
🌟 تعریف لامبدا و پیادهسازی نخی با استفاده از آن:
لامبدا به شما اجازه میدهد تا به صورت مختصر و مفید یک پیادهسازی برای رابط تابعی بنویسید. در مورد Runnable، پیادهسازی متد run به صورت یک بلوک کد نوشته میشود.
Thread thread = new Thread(() -> {
|
در new Thread(() -> { ... }); اینجا ما از یک لامبدا برای پیادهسازی رابط Runnable استفاده میکنیم.
کد داخل بلوک { ... } این کد همان پیادهسازی متد run است که نخی که ساختهایم اجرا خواهد کرد.
در مثال بالا یک نخ ایجاد شده که در فاصله زمانی نیم ثانیه نام نخ جاری را به همراه عدد شمارنده حلقه چاپ میکند
Thread-0: 0
Thread-0: 1
Thread-0: 2
Thread-0: 3
Thread-0: 4
🌟 مثال کامل:
در این مثال، دو نخ با استفاده از لامبدا ایجاد میشوند و هر کدام با فاصله زمانی متفاوت نام نخ جاری را به همراه عدد شمارنده حلقه چاپ میکنند
public class Main { Thread t2 = new Thread(() -> {
|
Out Put
Thread-1: 0 Thread-0: 0 Thread-1: 1 Thread-0: 1 Thread-1: 2 Thread-1: 3 Thread-0: 2 Thread-1: 4 Thread-0: 3 Thread-0: 4 |
📚 جمعبندی:
روش Lambda Expression: یک روش فشرده و خوانا برای پیادهسازی رابطهای تابعی در جاوا است.
پیادهسازی نخ با لامبدا: شما میتوانید به سرعت و با کد کمتر، یک نخ ایجاد کنید و متد run آن را پیادهسازی کنید.
این روش باعث میشود کد تمیزتر و خواناتر باشد و از نوشتن کلاسهای داخلی بینام (anonymous inner classes) پرهیز کنید.
دوره پیشرفته برنامه نویسی جاوا | آموزش کامل چندنخی (Multithreading)
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |