কম্পিউটার টিউটোরিয়াল

জাভাতে টাইমার থ্রেড বাস্তবায়ন

Timer ক্লাস একটি টাস্ককে নির্দিষ্ট সময়ে একবার বা বারবার রান করতে শিডিউল করে। এটি ব্যাকগ্রাউন্ডে ডেমন থ্রেড হিসেবেও রান করতে পারে। Timer কে ডেমন থ্রেডের সাথে সংযুক্ত করতে একটি কনস্ট্রাক্টরে বুলিয়ান ভ্যালু থাকে। Timer একটি টাস্ককে ফিক্সড ডিলে এবং ফিক্সড রেট-এ শিডিউল করে। ফিক্সড ডিলে-এ, যদি কোনো এক্সিকিউশন সিস্টেম GC-এর কারণে বিলম্বিত হয়, তবে অন্য এক্সিকিউশনও বিলম্বিত হবে এবং প্রতিটি এক্সিকিউশন আগের এক্সিকিউশনের সাপেক্ষে বিলম্বিত হবে। ফিক্সড রেট-এ, যদি কোনো এক্সিকিউশন সিস্টেম GC-এর কারণে বিলম্বিত হয়, তবে ২-৩ এক্সিকিউশন kontinu শোন্য হয়ে ফিক্সড রেট কভার করে প্রথম এক্সিকিউশন শুরু হওয়ার সময় অনুযায়ী। Timer ক্লাসে cancel() মেথড আছে টাইমার বন্ধ করার জন্য। এই মেথড কল করলে Timer টার্মিনেট হয়। Timer ক্লাস শুধু TimerTask বাস্তবায়ন করা টাস্ক এক্সিকিউট করে।

উদাহরণ

import java.util.*; 
public class TimerThreadTest { 
    public static void main(String []args) { 
        Task t1 = new Task("Task 1"); 
        Task t2 = new Task("Task 2"); 
        Timer t = new Timer(); 
        t.schedule(t1, 10000); // প্রতি ১০ সেকেন্ডে এক্সিকিউট 
        t.schedule(t2, 1000, 2000); // প্রতি ২ সেকেন্ডে এক্সিকিউট 
    } 
} 
class Task extends TimerTask { 
    private String name; 
    public Task(String name) { 
        this.name = name; 
    } 
    public void run() { 
        System.out.println("[" + new Date() + "] " + name + ": task executed!"); 
    } 
}

আউটপুট

[Thu Aug 01 21:32:44 IST 2019] Task 2: task executed! 
[Thu Aug 01 21:32:46 IST 2019] Task 2: task executed! 
[Thu Aug 01 21:32:48 IST 2019] Task 2: task executed! 
[Thu Aug 01 21:32:50 IST 2019] Task 2: task executed! 
[Thu Aug 01 21:32:52 IST 2019] Task 2: task executed! 
[Thu Aug 01 21:32:53 IST 2019] Task 1: task executed! 
[Thu Aug 01 21:32:54 IST 2019] Task 2: task executed! 
[Thu Aug 01 21:32:56 IST 2019] Task 2: task executed! 
[Thu Aug 01 21:32:58 IST 2019] Task 2: task executed! 
[Thu Aug 01 21:33:00 IST 2019] Task 2: task executed!
  1. জাভাতে স্ক্রোলযোগ্য JPanel কীভাবে বাস্তবায়ন করবেন?

  2. জাভাতে JPanel-এর paintComponent() মেথড কীভাবে বাস্তবায়ন করবেন?

  3. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?

  4. জাভাতে JWindow ব্যবহার করে স্প্ল্যাশ স্ক্রিন কীভাবে বাস্তবায়ন করবেন?