আমি এখানে অনুরূপ প্রশ্নগুলি পেয়েছি তবে আমার সন্তুষ্টির কোনও উত্তর নেই answers তাই আবার প্রশ্নটি rephrasing-
আমার একটি কাজ রয়েছে যা পর্যায়ক্রমিক ভিত্তিতে করা প্রয়োজন (বলুন 1 মিনিটের ব্যবধান)। ঘুমের সাথে অসীম লুপ রয়েছে এমন একটি নতুন থ্রেড তৈরি করার বিপরীতে এটি করার জন্য টাইমারটাস্ক ও টাইমার ব্যবহার করে কী লাভ?
টাইমারটাস্ক ব্যবহার করে কোড স্নিপেট-
TimerTask uploadCheckerTimerTask = new TimerTask(){
public void run() {
NewUploadServer.getInstance().checkAndUploadFiles();
}
};
Timer uploadCheckerTimer = new Timer(true);
uploadCheckerTimer.scheduleAtFixedRate(uploadCheckerTimerTask, 0, 60 * 1000);
থ্রেড এবং স্লিপ ব্যবহার করে কোড স্নিপেট
Thread t = new Thread(){
public void run() {
while(true) {
NewUploadServer.getInstance().checkAndUploadFiles();
Thread.sleep(60 * 1000);
}
}
};
t.start();
যুক্তিটির সম্পাদন যদি অন্তর সময়ের চেয়ে বেশি সময় নেয় তবে যদি আমি নির্দিষ্ট চক্রটি মিস করি তবে আমার সত্যিই চিন্তা করার দরকার নেই।
এই সম্পর্কে মন্তব্য করুন ..
আপডেট:
সম্প্রতি আমি টাইমার বনাম থ্রেড.স্লিপ () ব্যবহারের মধ্যে আরেকটি পার্থক্য পেয়েছি। ধরুন বর্তমান সিস্টেমের সময় সকাল 11 টা যদি আমরা কোনও কারণে সিস্টেমের সময় সকাল 10:00 তে রোলব্যাক করি তবে টাইমারটি সকাল 11:00 টা নাগাদ না হওয়া পর্যন্ত টাস্কটি সম্পাদন বন্ধ করে দেবে, অন্যদিকে থ্রেড.স্লিপ () পদ্ধতিটি কোনও বাধা ছাড়াই টাস্কটি চালিয়ে যেতে থাকবে। এই দু'জনের মধ্যে কী ব্যবহার করবেন তা সিদ্ধান্ত নেওয়ার ক্ষেত্রে এটি একটি বড় সিদ্ধান্ত গ্রহণকারী হতে পারে।