मैं android.os.Process.setThreadPriority()
का उपयोग करके मुख्य धागे की प्राथमिकता को बदलने की कोशिश कर रहा हूं। मैंने पहले और प्राथमिकता बदलने के बाद लोग इन संदेश नहीं है, यहाँ कोड है:बदलती धागा प्राथमिकता का कोई प्रभाव नहीं है
public class TestActivity extends Activity {
public final String TAG="TestActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
int tid=(int)Thread.currentThread().getId();
Log.d(TAG,"priority before change = " + android.os.Process.getThreadPriority(tid));
Log.d(TAG,"priority before change = "+Thread.currentThread().getPriority());
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_DISPLAY);
Log.d(TAG,"priority after change = " + android.os.Process.getThreadPriority(tid));
Log.d(TAG,"priority after change = " + Thread.currentThread().getPriority());
}
}
और मैं निम्नलिखित उत्पादन प्राप्त करें:
priority before change (getThreadPriority) = 0
priority before change (currentThread().getPriority) = 5
priority after change (getThreadPriority) = 0
priority after change (currentThread().getPriority) = 5
इसका मतलब है कि प्राथमिकता परिवर्तन नहीं किया, जो कुछ भी विधि मैं मूल्यांकन करने के लिए उपयोग करें यह। android.os.Process.THREAD_PRIORITY_DISPLAY = -4
, इसलिए मेरे आउटपुट को बदलने के बाद बराबर -4 होना चाहिए, यह वही क्यों रहता है? android.os.Process.setThreadPriority()
का कोई प्रभाव नहीं है?
पीएस मैंने थ्रेड के बारे में Google डॉक्स पढ़े, लेकिन android.os.Process.getThreadPriority()
और Thread.currentThread().getPriority()
के बीच अंतर समझाते हुए मुझे कोई समस्या नहीं आई। ये विधियां अलग-अलग मान क्यों लौटती हैं?
पी.पी.एस. Thread.currentThread().setPriority()
ठीक काम करता है।