معرفی کلاس‌های Timer و TimerTask در جاوا


معرفی کلاس‌های 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 آشنا شدیم.

 

سپاسگزاریم که همراه ما هستید

امیدواریم که این آموزش مورد توجه شما دوستان عزیز قرار گرفته باشد و بتواند شما را در راه رسیدن به اهدافتان کمک کند. برای دسترسی بیشتر به جلسات این دوره از آموزش جاوا پیشرفته کلیک کنید.

 

 


نظر بدهید نظر شما در تصمیم دیگران اثرگذار است. لطفا برای ما و همراهان درسمن نظر خود را بنویسید.
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات : جلسه
مدت زمان : 1709 دقیقه
حجم دوره : 5/26 گیگابایت
سطح مهارت : پیشرفته
وضعیت دوره : درحال برگزاری
تعداد دانشجویان : 843
: میانگین امتیاز
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی آنلاین درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و ....