আমি একটি অ্যাপ্লিকেশন-লজিক-থ্রেড এবং একটি ডাটাবেস-অ্যাক্সেস-থ্রেড সহ একটি জাভা অ্যাপ্লিকেশন তৈরি করছি। এগুলির উভয়ই আবেদনের পুরো জীবনকালের জন্য অব্যাহত রয়েছে এবং উভয়কে একই সময়ে চলতে হবে (একটি সার্ভারের সাথে কথা বলে, একটি ব্যবহারকারীর সাথে কথা বলে; যখন অ্যাপটি সম্পূর্ণভাবে শুরু হয়, তখন আমার দু'জনেরই কাজ করা প্রয়োজন)।
যাইহোক, শুরুতে, আমার নিশ্চিত করা দরকার যে প্রাথমিকভাবে অ্যাপ থ্রেডটি ডিবি থ্রেড প্রস্তুত না হওয়া পর্যন্ত অপেক্ষা করে (বর্তমানে একটি কাস্টম পদ্ধতিতে পোলিং দ্বারা নির্ধারিত dbthread.isReady())। ডিবি থ্রেড প্রস্তুত না হওয়া পর্যন্ত অ্যাপ থ্রেডটি ব্লক করে দিলে আমি আপত্তি করব না।
Thread.join() সমাধানের মতো দেখায় না - ডিবি থ্রেডটি কেবল অ্যাপের শাটডাউন থেকে প্রস্থান করে।
while (!dbthread.isReady()) {} ধরণের কাজ, তবে খালি লুপটি প্রচুর প্রসেসরের চক্র গ্রহণ করে।
অন্য কোন ধারণা? ধন্যবাদ।
