मैं प्राथमिकता के साथ ThreadPoolExecutor बनाने की कोशिश कर रहा हूं। तो मैंजावा में प्राथमिकता ThreadPoolExecutor (एंड्रॉइड)
private static ThreadPoolExecutor threadpool = new ThreadPoolExecutor(30, MAXPOOL, MAXPOOL, TimeUnit.SECONDS,
queue, new mThreadFactory());
परिभाषित करता है तो कुंजी अब कतार संदर्भ है। लेकिन जब मैं घोषणा: एक ही QuickFix साथ (पूर्णांक, पूर्णांक, पूर्णांक, TIMEUNIT, PriorityBlockingQueue, FileAccess.mThreadFactory) है अपरिभाषितनिर्माता ThreadPoolExecutor:
static PriorityBlockingQueue<mDownloadThread> queue=new PriorityBlockingQueue<mDownloadThread>(MAXPOOL,new DownloadThreadComparator());
संकलक पहली पंक्ति में एक त्रुटि देता है BlockingQueue पर 'कतार' का प्रकार बदलें। क्या आप समझने में मेरी मदद कर सकते हैं कि समस्या क्या है?
धन्यवाद
अतिरिक्त जानकारी:
class DownloadThreadComparator implements Comparator<mDownloadThread>{
@Override
public int compare(mDownloadThread arg0, mDownloadThread arg1) {
if (arg0==null && arg1==null){
return 0;
} else if (arg0==null){
return -1;
} else if (arg1==null){
return 1;
}
return arg0.getPriority()-arg1.getPriority();
}
}
mDownload थ्रेड उपकरण रननेबल भी। तो यह सही समस्या नहीं होनी चाहिए? – Addev
नहीं। जैसे आप 'सूची' को 'सूची
में पास नहीं कर सकते हैं, यह तुलना करने के लिए तुलनात्मक रूप से भविष्य में कार्य के उदाहरणों को पास करता है। यह कानूनी है क्योंकि यह रननेबल से फैली हुई है। प्रश्न में वस्तु की तुलना के लिए आवश्यक विशेषताओं पर आप नहीं मिल सकते हैं। बट में असली दर्द। – Mike