যদি এটি আপনার কাছে উপলব্ধ থাকে, তবে জাভা 5 এক্সিকিউটারের কাঠামোটি ব্যবহার না করার কারণ সম্পর্কে চিন্তা করা কঠিন । কল করা হচ্ছে:
ScheduledExecutorService ex = Executors.newSingleThreadScheduledExecutor();
আপনাকে ScheduledExecutorServiceঅনুরূপ কার্যকারিতা দিয়ে দেবে Timer(যেমন এটি একক থ্রেডযুক্ত হবে) তবে যার অ্যাক্সেসটি আরও বেশি স্কেলযোগ্য হতে পারে (হুডের নীচে এটি Timerশ্রেণীর সাথে সম্পূর্ণ সিঙ্ক্রোনাইজেশনের পরিবর্তে সমবর্তী কাঠামো ব্যবহার করে )। একটি ব্যবহার করে ScheduledExecutorServiceআপনাকে যেমন সুবিধা দেয়:
- প্রয়োজন হলে আপনি এটি কাস্টমাইজ করতে পারেন ( শ্রেণিটি দেখুন
newScheduledThreadPoolExecutor()বা দেখুন ScheduledThreadPoolExecutor)
- 'এক অফ' মৃত্যুদন্ড কার্যকর করতে পারে ফলাফল
আটকে থাকার একমাত্র কারণ সম্পর্কে Timerআমি ভাবতে পারি:
- এটি জাভা 5 এর আগে উপলব্ধ
- জে এমএমইতে অনুরূপ ক্লাস সরবরাহ করা হয়েছে যা আপনার অ্যাপ্লিকেশনটির পোর্টিং সহজ করতে পারে (তবে এই ক্ষেত্রে বিমূর্ততার একটি সাধারণ স্তর যুক্ত করা মারাত্মকভাবে কঠিন হবে না)