معرفی کلاسهای Timer و TimerTask در جاوا
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
معرفی کلاسهای Timer و TimerTask در جاوا
در این جلسه میخواهیم کلاس Timer از پکیچ java.util را بررسی کنیم.
کلاس Timer میتواند در فاصله زمانی مشخص یک کار را به صورت مداوم اجرا کند. به عنوان مثال زمانی که میخواهیم هر یک ثانیه یک کلمه را چاپ کنیم میتوانیم با استفاده از کلاس Timer این کار را انجام دهیم.
Timer timer=new Timer();
کارهایی که میخواهیم کلاس Timer انجام دهد از نوع TimerTask هستند. TimerTask یک اینترفیس است و که یک تابع به نام run دارد و تمام کارهایی که میخواهیم انجام دهیم را درون این تابع قرار میدهیم.
TimerTask task1=new TimerTask() {
@Override
public void run() {
System.out.println("Hello");
}
};
همانطور که در بالا مشاهده میکنید یک شی از TimerTask ساختیم و درون تابع run چاپ کلمه Hello را قرار دادیم.
حال برای اتصال Timer و TimerTask باید از متدی به نام schedule درون کلاس Timer استفاده کنیم.
متد schedule سه پارامتر دریافت میکند؛ پارامتر اول TimerTask را دریافت میکند. پارامتر دوم میزان تاخیر شروع را دریافت میکند(بر حسب میلی ثانیه). پارامتر سوم فاصله زمانی بین اجرا را دریافت میکند(بر حسب میلی ثانیه).
Timer timer=new Timer();
TimerTask task1=new TimerTask() {
@Override
public void run() {
System.out.println("Hello");
}
};
timer.schedule(task1,3000,1000);
خروجی
ابتدا 3 ثانیه تاخیر دارد و سپس هر یک ثانیه دستورات درون تابع run را اجرا میکند.
Hello
Hello
Hello
….
اما برای کد نویسی تمیزتر بهتر است یک کلاس TimerTask شخصی درون پروژه بسازیم و کدها را درون آن قرار دهیم.
یک کلاس به نام MyTimerTask میسازیم و آن را extend میکنیم از کلاس TimerTask و تابع run را override میکنیم و کدهای مدنظر را درون آن قرار میدهیم.
public class MyTimeTask extends TimerTask {
public static int counter=1;
@Override
public void run() {
System.out.println("Mehdi_"+counter);
counter++;
}
}
کدهای کلاس Main
Timer timer=new Timer();
MyTimeTask task1=new MyTimeTask();
timer.schedule(task1,0,1000);
خروجی
Mehdi_1
Mehdi_2
Mehdi_3
…..
کلاس Random
کلاس Random درون پکیچ java.util قرار دارد و برای تولید مقادیر تصادفی استفاده میشود. در دوره مقدماتی تا متوسط جاوا با کلاس Random آشنا شدیم و از تابع netInt استفاده کردیم. در این جلسه میخواهیم بقیه متدهای این کلاس را بررسی کینم.
متدهای کاربردی کلاس Random
متد nextBoolean
این متد برای تولید مقادیر تصادفی از نوع Boolean استفاده میشود.
Random rand=new Random();
System.out.println(rand.nextBoolean());
متد nextLong
این متد برای تولید مقادیر تصادفی از نوع Long استفاده میشود.
Random rand=new Random();
System.out.println(rand.nextLong());
متد nextInt
این متد برای تولید مقادیر تصادفی از نوع Int استفاده میشود.
Random rand=new Random();
System.out.println(rand.nextInt());
متد nextDouble
این متد برای تولید مقادیر تصادفی از نوع Double استفاده میشود.
Random rand=new Random();
System.out.println(rand.nextDouble());
متد nextFloat
این متد برای تولید مقادیر تصادفی از نوع Float استفاده میشود.
Random rand=new Random();
System.out.println(rand.nextFloat());
در این جلسه با کلاس Timer آشنا شدیم و توانستیم کلاس TimerTask شخصی ایجاد کنیم و همچنین با متدهای کاربردی کلاس Random آشنا شدیم.
سپاسگزاریم که همراه ما هستید
امیدواریم که این آموزش مورد توجه شما دوستان عزیز قرار گرفته باشد و بتواند شما را در راه رسیدن به اهدافتان کمک کند. برای دسترسی بیشتر به جلسات این دوره از آموزش جاوا پیشرفته کلیک کنید.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.