9.5android線程優先順序,go和rust比較

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

線程優先順序設定:
http://droidyue.com/blog/2015/09/05/android-process-and-thread-schedule-nice/
linux的優先順序設定:sudo renice -n 0 -p 24161

android優先順序設定:
Android中的線程優先順序別目前規定了如下,瞭解了進程優先順序與nice值的關係,那麼線程優先順序與值之間的關係也就更加容易理解。

THREAD_PRIORITY_DEFAULT,預設的線程優先順序,值為0。
THREAD_PRIORITY_LOWEST,最低的線程層級,值為19。
THREAD_PRIORITY_BACKGROUND 後台線程建議設定這個優先順序,值為10。
THREAD_PRIORITY_FOREGROUND 使用者正在互動的UI線程,代碼中無法設定該優先順序,系統會按照情況調整到該優先順序,值為-2。
THREAD_PRIORITY_DISPLAY 也是與UI互動相關的優先順序界別,但是要比THREAD_PRIORITY_FOREGROUND優先,代碼中無法設定,由系統按照情況調整,值為-4。
THREAD_PRIORITY_URGENT_DISPLAY 顯示線程的最進階別,用來處理繪製畫面和檢索輸入事件,代碼中無法設定成該優先順序。值為-8。
THREAD_PRIORITY_AUDIO 聲音線程的標準層級,代碼中無法設定為該優先順序,值為 -16。
THREAD_PRIORITY_URGENT_AUDIO 聲音線程的最進階別,優先程度較THREAD_PRIORITY_AUDIO要高。代碼中無法設定為該優先順序。值為-19。
THREAD_PRIORITY_MORE_FAVORABLE 相對THREAD_PRIORITY_DEFAULT稍微優先,值為-1。
THREAD_PRIORITY_LESS_FAVORABLE 相對THREAD_PRIORITY_DEFAULT稍微落後一些,值為1。
使用Android API為線程設定優先權也很簡單,只需要線上程執行時調用android.os.Process.setThreadPriority方法即可。這種線上程運行時進行修改優先順序,效果類似renice。

new Thread () {    @Override    public void run() {      super.run();        android.os.Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);    }}.start();

java原生api設定優先權會在安卓裡面失效

go和rust比較
http://www.csdn.net/article/2015-09-01/2825605
其中一點讓我印象深刻

func current_branch(git_dir string) string {    head_bytes, err := ioutil.ReadFile(path.Join(git_dir, "HEAD"))    head := string(head_bytes)    if err != nil {        log.Fatal("Cannot open HEAD from ", git_dir)    }    r, _ := regexp.Compile("ref: ref/heads/(.+)")    match := r.FindStringSubmatch(head)    branch := match[1]//這個假設,go可以編譯通過,但rust編譯器提示需要判斷.    return branch}

貌似有人說它沒有泛型不好

bug
requestLayout() improperly called by

http://stackoverflow.com/questions/24598977/android-requestlayout-improperly-called
how to fix this?
android:fastScrollEnabled=”false”

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.